Составить правильный запрос Laravel

88
26 ноября 2019, 12:40

Всем доброго. Есть следующий запрос:

$chat_list = ChatModel::where('creator', session()->get('id'))
               ->orWhere('reciever', session()->get('id'))
               ->get();

Получаем список всех сообщений в чате, нужно сгрупировать по отдельным чатам с пользователями. Уже голову изломал как построить запрос, из моих идей - добавлять к чату идентификатор. Прошу Вашей помощи.

Answer 1

Ну может подойти что-то наподобие этого. Только нужно учесть что если в БД используется ONLY_FULL_GROUP_BY, то при добавлении полей в select их так же нужно будет добавлять в groupBy

    ChatModel::where('creator', session()->get('id'))
        ->orWhere('reciever', session()->get('id'))
        ->selectRaw('CASE creator > reciever THEN CONCAT(creator, "-", reciever) ELSE CONCAT(reciever, "-", creator) as user_pair')
        ->groupBy('user_pair')
        ->get();
READ ALSO
Поиск похожих фраз

Поиск похожих фраз

Меня интересует такой моментПарсю я к примеру 2 сайта, у них одинаковые категории но по разному написаны

97
Проблема с выводом таблиц и select

Проблема с выводом таблиц и select

подскажите пожалуйстаЕсть два select, выбираю их и нажимаю - выводит одну таблицу, выбираю ещё другое значение select`a, выводит одну и ещё предыдущую...

128
Ошибка при добавлении товаров Drupal

Ошибка при добавлении товаров Drupal

Обновил ядро Drupal, до версии 764, всё обновилось без происшествий

118
Переход от «preg_replace()» к «preg_replace_callback()»

Переход от «preg_replace()» к «preg_replace_callback()»

Нужна помощь с переписыванием preg_replace в preg_replace_callback:

84