Здесь нужно пару запросов делать с groupBy и связывать их функцией union.
Такая неудобная шляпа у вас получилась из отсутсвия модели диалога. Должны быть такие модели и соответствующие им таблицы:
User, Dialog, Message
И такая зависимость:
User belongsToMany Dialog
Dialog hasMany Message
User hasManyTrough Message
Ну и обратные зависимости.
Как раз по модели Dialog Вы могли бы без проблем забрать собеседников. И присоединять к беседе удобно через attach/detach. Можно даже конференц организовать, а не только диалог
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Такая неудобная шляпа у вас получилась из отсутсвия модели диалога. Должны быть такие модели и соответствующие им таблицы:
User, Dialog, Message
И такая зависимость:
User belongsToMany Dialog
Dialog hasMany Message
User hasManyTrough Message
Ну и обратные зависимости.
Как раз по модели Dialog Вы могли бы без проблем забрать собеседников. И присоединять к беседе удобно через attach/detach. Можно даже конференц организовать, а не только диалог