从聊天 - 收件箱中检索最后一条用户消息

时间:2017-01-23 23:14:03

标签: mysql laravel eloquent laravel-5.1

我正在构建我的网站的聊天部分,这是我提出的用于检索收件箱和对话的最后一条消息的查询。

     $chat_inbox = Message::where('author_id', $this->user->id)
        ->orWhere('recipient_id', $this->user->id)
        ->groupBy('unique_chat_id')
        ->latest();

问题是我需要找到其他用户发送的最后一条消息,而不是发送消息的消息。然后,我可以在收件箱中将此邮件显示为未读,但我还需要检索当前用户启动的对话,即使其他用户仍未响应。

无论是谁发送,当前查询都会收到最后一条消息。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

您必须更改where的声明。

$chat_inbox = Message::where('recipient_id', $this->user->id)
    ->where('chat_id', some_id')
    ->groupBy('unique_chat_id')
    ->last();