0
Я пытаюсь получить последнее сообщение в MySQL, используя Laravel eloquent. У меня есть таблицыПоследнее сообщение в разговоре mysql Laravel eloquent
- chats_users: магазины chat_id, user_id
- chats_reply: магазины chat_id, sender_id, сообщение, created_at
Я попытался следующий код, но он не возвращает последнее сообщение ,
return $this->chat->join("chats_users", "chats_users.chat_id", "=", "chats.id")
->join("chats_reply", "chats_reply.chat_id", "=", "chats.id")
->where("chats_users.user_id", "=", $user_id)
->take($limit)
->skip($offset)
->groupBy("chats_reply.chat_id")
->get();
Я также попытался:
return \DB::select(\DB::raw("SELECT * FROM chats_reply msg inner join (select max(created_at) created_at, message from chats_reply group by chat_id) m2 on msg.created_at = m2.created_at INNER JOIN chats_users mst ON mst.chat_id=msg.chat_id WHERE mst.user_id=$user_id"));
Получите ожидаемые результаты при выполнении запроса самостоятельно? –
Вы пробовали функцию orderBy() в красноречиве? – aldrin27
Что делает raw render – Drew