我正在构建我的网站的聊天部分,这是我提出的用于检索收件箱和对话的最后一条消息的查询。
$chat_inbox = Message::where('author_id', $this->user->id)
->orWhere('recipient_id', $this->user->id)
->groupBy('unique_chat_id')
->latest();
问题是我需要找到其他用户发送的最后一条消息,而不是发送消息的消息。然后,我可以在收件箱中将此邮件显示为未读,但我还需要检索当前用户启动的对话,即使其他用户仍未响应。
无论是谁发送,当前查询都会收到最后一条消息。任何帮助表示赞赏。
答案 0 :(得分:0)
您必须更改where
的声明。
$chat_inbox = Message::where('recipient_id', $this->user->id)
->where('chat_id', some_id')
->groupBy('unique_chat_id')
->last();