Предполагая, что $endDate
всегда будет больше (или равно), чем $startDate
$startDate = "2019-06-10";
$endDate = "2019-06-18";
Указанные даты не находятся между этими датами
->whereDate('date_to', '<', $startDate)
->whereDate('date_from', '>', $endDate)
Если дано $startDate
больше, чем db 'date_to'
, $startDate
не находится между 'date_to'
и 'date_from'
.Извлекает записи с 'date_to'
меньше "2019-06-10"
.
И когда заданное 'date_from'
больше $endDate
, $endDate
не находится между 'date_to'
и 'date_from'
.Будет извлекать записи с 'date_from'
больше "2019-06-18"
.
- Указанные даты не должны быть равны date_from и date_to
Это ненеобходимо, так как в запросе пункта 2 мы используем> и <, которые не будут учитывать равные. </p>
//->where('date_from', '<>', $startDate)->where('date_from', '<>', $endDate)
//->where('date_to', '<>', $startDate)->where('date_to', '<>', $endDate)
Just:
$getEvents = Booking::where('category_id', '=', $categoryID)
->whereDate('date_to', '<', $startDate)
->whereDate('date_from', '>', $endDate)
->get();