У меня такая схема таблиц:
Моя задача получить строку описания события из третьей таблицы через отношения, которые выглядят так:
'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
и список событий из третьей таблицы, которая связана с каждым 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; ?>
который возвращает мне ошибку, как и ожидалось.