Как в Yii засунуть две разные модели в один DataProvider?
Есть две модели: Место(Кафе,ресторан,кинотеатр) и Событие.
Событие имеет свою дату проведения.
Место имеет график работы(пн,вт,ср и т.д).
Нужно это как то всё выбирать (например для даты 28.08.2014) в размере 10 штук отсортированных по id. И сюда должны попасть события проводимые 28.08.2014 и места которые открыты в четверг(т.к. 28.08.2014 это четверг).
Какие есть варианты решения?
Место и событие никак не связаны. По сути, место и событие, это одно и тоже. Хотел объединить их в одну модель(таблицу), но у события только одна дата проведения(1 поле в БД),а у места график работы по дням(7 полей в БД). Получится, что некоторые поля будут пустовать у разных типов. Нормально ли это?
@Melodic у меня один из текущих проектов с таким же функционалом. Я завел четыре модели, Venue, Event, WeekDay, Date. Venue имеет 7 WeekDay, WeekDay хранит время работы заведения в каждый день недели, Date - таблица связывающая Venue и Event и хранящая дату проведения события.
В итоге я делаю всегда выборку по Venue к примеру, и у меня доступна информация что где и когда. Правда логика выборки сложная, разделенная на подзапросы и в итоге выходит километровый SQL... но бизнес логика требует.
@Melodic у вас Event (Событие) должно иметь поле venue_id со связью getVenue() (one-to-one) к таблице Venue (Место). Таким образом вы получите доступ к месту через $event->venue