Не могли бы вы помочь мне создать запрос для поиска бесплатных свиданий в Laravel Eloquent.
Итак, у меня есть две модели: Node и Booking. Модели связаны отношениями HasMany
public function dates()
{
return $this->hasMany(Booking::class, 'object_id', 'nid');
}
Модель бронирования имеет следующую структуру:
| bid | object_id | checkin | checkout |
| 1 | 32 | 2017-04-25 | 2017-04-28 |
| 2 | 32 | 2017-05-01 | 2017-05-09 |
| 3 | 44 | 2017-04-21 | 2017-04-24 |
| 4 | 51 | 2017-05-01 | 2017-05-08 |
Моя цель - найти доступные узлы между заданными датами.
Итак, если я хочу найти одну дату между (например, created_at), это просто:
whereBetween(‘created_at’, [$date1, $date2])
Но как создать поисковый запрос между двумя датами заезда и выезда?






Вы имеете в виду что-то вроде этого?
$query->where('checkin','<=', $date)
->where('checkout','>=', $date);
Вы также можете добавить его в область видимости: Области запросов Laravel
Ха, ты меня опередил! но это точный способ!
whereRaw( [$date1, $date2]);можно сделать вот так.