Запрос на удаление используя обычный SQl

Парни приветсвую, подскажите пожалуйста, как поправить мой запрос, чтобы он удалил полученные записи-
$mes = DB::select("SELECT d.id FROM dialogs d LEFT JOIN messages m ON LEAST(d.user_1, d.user_2) = LEAST(m.sender_id, m.receiver_id) AND GREATEST(d.user_1, d.user_2) = GREATEST(m.sender_id, m.receiver_id) WHERE m.dialog_id IS NULL");

пробовал на концовку подставлять ->delete() но не срабатывает. думаю потому, что там массив на выходе из айдишек. скрин ниже ДД-шки. введите сюда описание изображения введите сюда описание изображения


Ответы (1 шт):

Автор решения: Денис Потапов

вот так заработало-

$mes = DB::select("SELECT d.id FROM dialogs d LEFT JOIN messages m ON LEAST(d.user_1, d.user_2) = LEAST(m.sender_id, m.receiver_id) AND GREATEST(d.user_1, d.user_2) = GREATEST(m.sender_id, m.receiver_id) WHERE m.dialog_id IS NULL");

$ids_to_delete = implode(', ', array_column($mes, 'id')); $del = DB::delete("DELETE FROM dialogs WHERE id IN ($ids_to_delete)");

→ Ссылка