Метод whereExists позволяет написать SQL-условия where exists. Метод whereExists
принимает в качестве аргумента замыкание, которое получит экземпляр конструктора запросов, позволяя вам определить запрос для помещения в условие «exists»:
DB::table('users')
->whereExists(function($query)
{
$query->select(DB::raw(1))
->from('orders')
->whereRaw('orders.user_id = users.id');
})
->get();
Этот пример выполнит такой SQL-запрос:
select * from users
where exists (
select 1 from orders where orders.user_id = users.id
)