Ich habe eine „Botschaften“ Tabelle mit den folgenden SpaltenOrder By bevor Gruppe Durch die Verwendung von Eloquent (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;
Ich versuche, alle Nachrichten zu bekommen, wo ‚EmpfängerID‘ = $ id und Gruppierung von AbsenderID . Das Problem ist, dass die "Nachricht", die auf den Ergebnissen angezeigt wird, die ersten ist, nicht die neuesten. Ich habe versucht, von createdAt zu bestellen, aber es funktioniert nicht.
Wie kann ich vor dem Abfragen und Gruppieren der Ergebnisse nach "createdAt" bestellen? Ich möchte dies auf die Laravel-Art mit Eloquent tun.
Meine Frage:
$chats = Message::with('sender','recipient')
->where('toId',$id)
->orderBy('createdAt')
->groupBy('fromId')
->paginate(10)
Können Sie uns vielleicht zeigen, wie Ihre Anfrage in Eloquent jetzt aussieht? Vielen Dank! – Bananam00n
Ja, ich habe die Frage aktualisiert. – Sergio