Ho una tabella "messaggi" con le seguenti colonneOrdinato per prima di Gruppo Utilizzando Eloquente (laravel)
CREATE TABLE `messages` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fromId` int(11) NOT NULL,
`toId` int(11) NOT NULL,
`message` text NOT NULL,
`status` int(11) NOT NULL,
`device` varchar(100) NOT NULL,
`createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=latin1;
Sto cercando di ottenere tutti i messaggi in cui 'toId' = $ id e raggruppamento da identità_mittente . Il problema è che il "messaggio" mostrato sui risultati è il primo, non l'ultimo. Ho provato a ordinare da creato, ma non funziona.
Come è possibile ordinare da "createdAt" prima di eseguire query e raggruppare i risultati? Voglio farlo nel modo laravel usando Eloquent.
La mia domanda:
$chats = Message::with('sender','recipient')
->where('toId',$id)
->orderBy('createdAt')
->groupBy('fromId')
->paginate(10)
Puoi mostrarci come appare la tua query in Eloquent? Grazie! – Bananam00n
Sì, ho aggiornato la domanda. – Sergio