На Laravel, если вы хотите записать SQL raw, вы можете использовать DB:raw
.
Пример:
$results = DB::select( DB::raw("SELECT * FROM table WHERE column = '$variable'") );
DB::raw()
используется для создания произвольные SQL команды, которые больше не анализируются построителем запросов.
(обновлено)
Используя следующий SQL в качестве примера:
SELECT * FROM t1 FULL OUTER JOIN t2 ON t1.id = t2.id;
Мы также можем использовать UNION для обработки того же результата:
SELECT * FROM t1 LEFT JOIN t2 ON t1.id = t2.id
UNION ALL
SELECT * FROM t1 RIGHT JOIN t2 ON t1.id = t2.id
В структуре Laravel вы можете использовать метод unionAll:
$first = DB::table('users')
->whereNull('first_name');
$users = DB::table('users')
->whereNull('last_name')
->union($first)
->get();
Ссылка: https://laravel.com/docs/7.x/queries#unions