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

где 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, очень нравится
смотрел уроки по созданию интернет магазина