Kulaxyz
@Kulaxyz
Могу лучше

Почему не работает SQL-запрос с join?

DB::table('messages')
            ->join('deleted_messages', 'messages.id', '=', 'deleted_messages.message_id')
            ->where('chat_id', $this->id)
            ->where('deleted_messages.message_id', '!=','messages.id')
            ->get();

Пытаюсь составить запрос, который будет вытягивать все записи по текущему чату без тех, id которых есть в таблице deleted_messages.
Что не так делаю?
  • Вопрос задан
  • 211 просмотров
Решения вопроса 1
kimono
@kimono
Web developer
По-моему запрос должен выглядеть следующим образом:
SELECT *
FROM messages
LEFT JOIN deleted_messages
  ON messages.id = deleted_messages.message_id
WHERE
  messages.chat_id = :id
  AND
  deleted_messages.message_id IS NULL


А то что вы джойните таблицу по айдишникам, а потом пихаете их неравенство в условие - вам даёт скорее всего пустой результат.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы