#php #mysql #laravel #eloquent #laravel-8
Вопрос:
При бронировании номера с 2021-09-29 09:00 до 2021-09-29 10:00 номер должен быть доступен для бронирования с 2021-09-29 10:00, но в этом случае номер становится доступным с 2021-09-29 10:01.
public function searchRoom(Request $request)
{
$rooms = null;
if($request->filled(['start_time', 'end_time', 'capacity'])) {
$times = [
Carbon::parse($request->input('start_time')),
Carbon::parse($request->input('end_time')),
];
$rooms = Room::where('capacity', '>=', $request->input('capacity'))
->whereDoesntHave('events', function ($query) use ($times) {
$query->whereBetween('start_time', $times)
->orWhereBetween('end_time', $times)
->orWhere(function ($query) use ($times) {
$query->where('start_time', '<', $times[0])
->where('end_time', '>', $times[1]);
});
})
->get();
}
return view('admin.bookings.search', compact('rooms'));
}