Laravel Where Exists Clauses

Метод 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
)

Похожие записи

Шпаргалка Laravel Eloquent

Статья адресована разработчикам, которые знакомы с Laravel Eloquent и хотят освежить в памяти основные моменты работы с ней.
18 октября 2017 г. в Laravel

Eloquent collection groupBy Carbon

use Carbon\Carbon;
...

$projectsGroupedByYear = $projects->groupBy(function($p) {
    return Carbon::parse($p->start_year_date)->format('Y');
});