Не очень силен в sql, но хотелось бы сделать отображение диалогов на отдельной странице.
вот собственно структура таблицы с сообщениями
данные для одного диалогая я выбираю так
$messages = DB::table('messages')
->where([
['from_id', '=', $user_id],
['to_id', '=', $companion_id],
])
->orWhere([
['to_id', '=', $user_id],
['from_id', '=', $companion_id],
])
->get();
Но не могу сообразить, как выбрать имеющихся собеседников для $user_id . То есть надо получить всех собеседников, которым писал юзер или которому писал юзер. Если есть возможность одним запросом также получить и последний коммент из этих диалогов, буду очень рад и благодарен