Запрос на удаление используя обычный 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)");