Получение форматированной коллекции в Laravel 5.8
Получаю такой результат:
1: {71: [,…]}
71: [,…]
0: {chat_id: 71, name: "Клиент", photo: null, type_id: 1}
2: {72: [{chat_id: 72, name: "Эксперт",…}]}
72: [{chat_id: 72, name: "Эксперт",…}]
0: {chat_id: 72, name: "Эксперт",…}
Нужен такой формат:
1: {71: {,…}}
71: {chat_id: 71, name: "Клиент", photo: null, type_id: 1}
2: {72: {chat_id: 72, name: "Эксперт",…}}
72: {chat_id: 72, name: "Эксперт",…}
мой код:
Chat::query()
->select('chats.id as chat_id', 'name', 'photo', 'type_id')
->where('task_id', $task_id)
->whereIn('type_id', [1, 2, 3])
->leftJoin('users', function ($join) use ($user_id) {
$join->on(function ($query) use ($user_id, $join) {
$query
->on('chats.user_id2', '=', 'users.id')
->where('chats.user_id2', '!=', $user_id)
->where('chats.type_id', 1)
->orOn('chats.user_id1', '=', 'users.id')
->where('chats.user_id1', '!=', $user_id);
});
})
->get()
->groupBy(['type_id', 'chat_id']);