gpt4 book ai didi

php - OrderBy 后的 GroupBy 用于 Laravel 中的复杂查询

转载 作者:行者123 更新时间:2023-11-30 22:14:05 24 4
gpt4 key购买 nike

这是我的代码,用于为每次聊天获取消息并将它们分组

$query = DB::table('chats');

$otherUserId= $request->input('loadId');
if($otherUserId==0){
$query->join('users as u1', 'u1.id', '=', 'chats.user1_id');
$query->join('users as u2', 'u2.id', '=', 'chats.user2_id');
$query->join('messages', 'messages.chat_id', '=', 'chats.id');
$query->where('chats.user1_id', '=', '{$userId}');
$query->orWhere('chats.user2_id', '=', '{$userId}');
$query->select('messages.chat_id', 'messages.from_id', 'u1.id as user1_id', 'u2.id as user2_id', 'messages.created_at', 'messages.body', 'messages.read', 'u1.name as user1_name', 'u2.name as user2_name', 'u1.picture_url as user1_pic', 'u2.picture_url as user2_pic');

$query->orderBy('messages.created_at ', 'DESC');
$query->groupBy('chat_id');
$messages = $query->paginate(4);

当我运行查询时,结果与预期不符 OrderBy 在 group by 之后。我已经尝试了很多但找不到解决方案。我也尝试过此解决方案,但无法使其正常工作。 Order By before Group By using Eloquent (Laravel)

请帮助我,我已经浪费了很多时间来解决这个问题。在此先感谢您对我的帮助。

最佳答案

在分页前一行添加如下代码

dd($query->toSql());

这将返回查询字符串以调试 mysql 查询。如果您仍然无法找出发生了什么,请将其粘贴到此处以帮助您。

关于php - OrderBy 后的 GroupBy 用于 Laravel 中的复杂查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39052629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com