Как сделать проверку на свободное время для записи в Yii2?

122
14 сентября 2019, 18:20

разрабатываю систему для записи съемок , хотелось бы узнать как проверять на свободное время человека для записи, день и время, (аналогия запись к врачу, врач не может принимать несколько человек в одно время) Есть таблица - событие

где id_operator, id_journalist, id_driver, id_car берется из таблицы

необходимо сделать проверку всех на свободное время, и еще хотелось узнать, как сделать при записи, выборку - показ свободных дат/времени для записи как в гос услугах при записи к врачу либо в Datetimepickere отображалось свободное время для записи В какую сторону гуглить, что читать нашел похожий пример, но тут время и дата разные поля, можно ли разделить при проверке DATETIME для дальнейшего использования в fullcalendar? class Record extends ActiveRecord { // you code

public function rules()
{
    return [
        // you code
        [['time', 'data', 'doctor_fio'], 'required'],
        ['doctor_fio', 'validateRecord'],
    ];
}
public function validateRecord($attribute)
{
    // Условие в выражение where установите то, которое вам нужно. 
    // Ниже приведен как пример.
    $exist = self::find()
        ->where([
            'time' => $this->time,
            'date' => $this->date,
            'doctor_fio' => $this->doctor_fio,
        ])->exists();
    if ($exist) {
        $this->addError($attribute, "Запись на это время не возможна");
    }
}
// you code

}

Сломал голову, чтоб реализовать "чистый" стабильный вариант, простите только обучаюсь, до этого писал с нуля сайт с моделью MVC, только недавно познакомился с YII2, очень нравится смотрел уроки по созданию интернет магазина

READ ALSO
Расширение таблицы или связь один ко одному [закрыт]

Расширение таблицы или связь один ко одному [закрыт]

Есть таблица user_card, хранит данные о пользователях сайтаЕсть сотрудники, которые как и остальные пользователи регистрируются на сайте и попадают...

110
Не работает required в форме

Не работает required в форме

Все поля имеют атрибут required, обязательное поле, но даже если вообще ничего не заполнять, все равно идет отправка

151
Как поставить элементы ::before на списке li

Как поставить элементы ::before на списке li

Как выровнять мои элементы before от текста?

115
Добавить картинку в <input type=range … >

Добавить картинку в <input type=range … >

Собственно, в чём вопросДелаю Range Slider

180