Ich entwickle grundlegende Nachrichtenfunktionen in Laravel und möchte jeden Benutzer anzeigen, der eine Nachricht an den aktuell angemeldeten Benutzer gesendet hat, sowie die letzte empfangene Nachricht. Das Problem besteht darin, dass „orderByDesc“ nicht richtig funktioniert und stattdessen die erste Nachricht anzeigt Letzter.
Das ist die Anfrage, die ich geschrieben habe:
$receivedmessages = DB::table('messages') ->join('users', 'users.id', '=', 'messages.sender_id') ->select('messages.*', 'users.username') ->where('receiver_id', Auth::user()->id) ->orderByDesc('messages.created_at') ->groupBy('receiver_id') ->get();
Irgendeine Idee, wie man dieses Problem lösen kann? Danke
删除
->where('receiver_id', Auth::user()->id)
此条件以获取每个用户的结果,而不是您登录时使用的结果实现上述目标的技巧是从表中获取最大 Id 并在
WHERE IN
条件中使用这些 Id