Проверка доступности времени для записи

Статус
В этой теме нельзя размещать новые ответы.

timur_

Постоялец
Регистрация
27 Окт 2014
Сообщения
142
Реакции
67
Есть система резервации, где выбирается дата и время брони, а после, эти параметры передаются в post на др. страницу и там оплачиваются.
Как организовать то, чтобы была некая проверка доступности времени на данный день или время?
т.е. есть дата - 01/05/2017, для записи доступно 8 часов - с 12 до 7
Rmzoo0Mc8XBd2O.jpg
 

luciolo

Создатель
Регистрация
28 Сен 2016
Сообщения
31
Реакции
22
Хранить, например в базе, занятые часы и перед выводом страницы где записываются проверять какие часы свободны и блокировать их

ради одной таблицы использовать БД?
Да.
Можно потом данные из бд обернуть в этот класс с удобным API.
Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование модератором:

timur_

Постоялец
Регистрация
27 Окт 2014
Сообщения
142
Реакции
67
Хранить, например в базе, занятые часы и перед выводом страницы где записываются проверять какие часы свободны и блокировать их
ради одной таблицы использовать БД?

т.е. после оплаты я создаю запись с датой и временем, а как мне проверять что выводить?
 
Последнее редактирование модератором:

nejtr0n

Гуру форума
Регистрация
24 Янв 2014
Сообщения
129
Реакции
82
храните список бронированных интервалов.
Затаем передаёте его в качестве аргумента exceptions конструктора

Код:
$openingHours = OpeningHours::create([
    'monday' => ['09:00-12:00', '13:00-18:00'],
    'tuesday' => ['09:00-12:00', '13:00-18:00'],
    'wednesday' => ['09:00-12:00'],
    'thursday' => ['09:00-12:00', '13:00-18:00'],
    'friday' => ['09:00-12:00', '13:00-20:00'],
    'saturday' => ['09:00-12:00', '13:00-16:00'],
    'sunday' => [],
    'exceptions' => [
        '2016-11-11' => ['09:00-12:00'],
        '2016-12-25' => [],
    ],
]);
Проверить, не забронировано ли время можно будет
через метод
Код:
$openingHours->isOpenAt(new DateTime('2016-09-26 19:00:00'));
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху