Мне нужно перечислить все разговоры пользователя, отсортировав их по последнему полученному сообщению (так же, как и разговоры в WhatsApp).
Таким образом, он упорядочивает правильно, но дублирует разговоры.
Я пытался использовать distinct()
, чтобы решить эту проблему, но в итоге попросил поместить messages.created_at
в select
, затем он снова дублирует результаты.
Chat::where('chats.from_id', $user_id)
->join('messages', 'chats.id', '=', 'messages.chat_id')
->select('chats.*')
->orderBy('messages.created_at', 'desc')
->get();