Условия табличного объединения laravel

Laravel 9. Не получается задать условие табличного объединения на поле типа date. Мой код:

$result['rooms'] = Room::select('rooms.real_num')
    ->leftJoin('bookings', function ($join) {
        $join->on('rooms.id', '=', 'bookings.room_id')
            ->where('bookings.date_start', '>=', strtotime($data['start']));
    })
    ->get();

Свежих решений не нашёл, в официальной документации не описано условие именно на столбцы с датой


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

Автор решения: KordDEM

Как будто у вас проблема не с датой, а с областью видимости. Переменную $data нужно передать в функцию.

$result['rooms'] = Room::select('rooms.real_num')
    ->leftJoin('bookings', function ($join) use($data) {
        $join->on('rooms.id', '=', 'bookings.room_id')
            ->where('bookings.date_start', '>=', strtotime($data['start']));
    })
    ->get();
→ Ссылка