Задать вопрос
@frontendo

Как сделать запрос на выборку диалогов из простой таблицы сообщений между двумя пользователями?

Не очень силен в sql, но хотелось бы сделать отображение диалогов на отдельной странице.
вот собственно структура таблицы с сообщениями
b47beccb2dc948c6b1ce8566f97788bb.jpg

данные для одного диалогая я выбираю так
$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 . То есть надо получить всех собеседников, которым писал юзер или которому писал юзер. Если есть возможность одним запросом также получить и последний коммент из этих диалогов, буду очень рад и благодарен
  • Вопрос задан
  • 133 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Arik
У вас запрос когда известно кто писал и кому писали, теперь вам нужно сделать запрос чтоб известный юзер ($user_id) был или отправитель или получатель. Т.е. просто убрать условия с $companion_id
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы