Я пытаюсь проверить бронирование комнаты от времени начала до времени окончания между двумя датами, используя laravel

Я работаю над системой бронирования/бронирования для небольшого отеля. Я довольно хорошо разбираюсь в PHP/laravel, но не очень хорошо разбираюсь в MySQL. Я сделал форму, в которой вы вводите свою информацию, start_date, end_date, start_time, end_time, но я я пытаюсь проверить бронирование номера перед бронированием. и я немного запутался, моя логика верна или нет, пожалуйста, помогите мне поблагодарить.

BookingController

public function getBooking(Request $request){

 $startDateTime = date('Y-m-d H:i:s', strtotime("$request->start_date, 
    $request->start_time"));

    $endDateTime = date('Y-m-d H:i:s', strtotime("$request->end_date, 
     $request->end_time"));

    $isBooked = Booking::where('room_id', $request->roomId)
    ->whereDate('start_datetime', '<=', $startDateTime)
    ->whereDate('end_datetime', '>=', $endDateTime )
    ->exists();

    if(!$isBooked){
        return response()->json(['success'=>'Slot Available!']);
    }else{

        return response()->json(['errorMessage'=>'Slot Not Available']);
    }

    }

enter image description here

enter image description here

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
0
21
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я вижу проблему дизайна в вашей модели бронирования, поскольку вы храните дату и час в разных столбцах, что затрудняет запрос результата, который вы проверяете.

Лучше, если вы сохраните start_datetime и end_datime, чтобы ваш запрос был намного чище.

В mysql вы можете преобразовать дату и время в метку времени, как это

ADDTIME(CONVERT(date, DATETIME), time)

но я сомневаюсь, что это работает с красноречивым

Сэр, я сохранил start_datetime и end_datetime в БД, но как я могу проверить бронирование из этого столбца, пожалуйста, помогите мне, спасибо.

zubair syslab 10.04.2022 12:50

пожалуйста, проверьте, я обновил код, спасибо

zubair syslab 10.04.2022 12:53

Другие вопросы по теме