у меня есть такая схема таблиц: Yii: отношение через одну таблицу в другую
Моя задача состоит в том, чтобы получить строку описания мероприятия из третьей таблицы с помощью отношений, которые выглядят так:
'dates'=>array(self::HAS_MANY, 'CalendarDates', '',
"on" => '"t"."CalendarDateId"="dates"."calendar_date_id"'),
'events'=>array(self::HAS_MANY, 'CalendarDayEvents', '',
"on" => '"dates"."list_events" = "events"."date_id"')
Таким образом, я считаю, что получение dates
из первого соотношения
$UserCalendar = CalendarsUsers::model()->
with(array('dates','events'))->
find('user_id =:user_id', array(':user_id'=> $userId));
Я хотел бы получить такую схему
Date as Dates
и список событий FRON третьей таблицы, которая связана с каждым Date
Но используя соотношение, которое представлено выше, я получаю «параллельный» отношение, где даты и события " параллель ", поэтому я не могу написать такой код:
<?php foreach ($calendar->dates as $day): ?>
<b>Date:</b> <?php echo($day->date_event); ?> <br>
<i>Event:</i>
<?php foreach ($day as $event): ?>
<?php echo($event->event_description); ?>
<?php endforeach; ?>
<br/>
<?php endforeach; ?>
который возвращает мне ошибку, как ожидалось.
$ day - это объект, который расширяет CActiveRecord, правильно? Почему вы используете его как массив внутри foreach? –