1 回答

TA贡献1789条经验 获得超8个赞
如果我正确理解了这个问题,那么您正在寻找属于两个用户之间对话的消息,那么您正在寻找的内容应该如下:
$loggedInUserId = 2;
$contactUserId = 3;
$messages = Message::query()
->where(function ($query) use ($loggedInUserId, $contactUserId) {
$query->where('sender_id', $loggedInUserId)
->where('recipient_id', $contactUserId);
})
->orWhere(function ($query) use ($loggedInUserId, $contactUserId) {
$query->where('recipient_id', $loggedInUserId)
->where('sender_id', $contactUserId);
})
->with('owner')
->orderBy('created_at', 'desc')
->get();
此外,如果您严重依赖跟踪两个或多个用户之间的“对话”,您可能会考虑将它们聚合为线程。如果我正确理解了这个问题,那么您正在寻找属于两个用户之间对话的消息,那么您正在寻找的内容应该如下:
$loggedInUserId = 2;
$contactUserId = 3;
$messages = Message::query()
->where(function ($query) use ($loggedInUserId, $contactUserId) {
$query->where('sender_id', $loggedInUserId)
->where('recipient_id', $contactUserId);
})
->orWhere(function ($query) use ($loggedInUserId, $contactUserId) {
$query->where('recipient_id', $loggedInUserId)
->where('sender_id', $contactUserId);
})
->with('owner')
->orderBy('created_at', 'desc')
->get();
此外,如果您严重依赖跟踪两个或多个用户之间的“对话”,您可能会考虑将它们聚合为线程。
- 1 回答
- 0 关注
- 100 浏览
添加回答
举报