-
$allIncomeAndOutComeArchivedMessages = GameMessage::where('fromId', Auth::user()->id)
->where('senderArchived', true)
->orWhere('toId', Auth::user()->id)
->where('catcherArchived', true)
->leftJoin('users', function($join) {
$join->on('game_messages.fromId', '=', 'users.id');
})
->select('game_messages.*', 'users.name')
->get();
Возможно запрос кривой, я им получаю все мои исходящие сообщения которые архивированы, или все входящие сообщения которые так же архивированы, и далее я джойню поле name из таблицы юзеров получая имя отправителя.
Вопрос - как полученную выборку превратить в коллекцию по именам, или как то сгруппировать?
То есть мне во вью надо отправить данные, где к примеру будет список переписок, типа -
переписка с vasja - и отсортированные по времени отправки сообщения мои и vasja,
переписка в gurjan - и так же отсортированные сообщения мои и гурьяна по времени
->get()->groupBy(function($item) { return $item->user->name });
Обсуждают сегодня