Хотелось бы задать ещё один вопрос на подобную тему.
Есть также два AR класса, взаимоотношения у них установленны следующим образом:
Код: Выделить всё
// в Publication --->
'ext'=>array(self::HAS_ONE, 'PublicationExt', 'id')
// в PublicationExt --->
'publication'=>array(self::HAS_ONE, 'Publication', 'id')
далее я хочу получить некий массив Publication из определённых id (publication->id)
Код: Выделить всё
$criteria=new CDbCriteria;
$criteria->select='id, title, teaser, datetime, alert, pid';
$criteria->with = array('ext'=>array('select'=>'thumb_image'));
$where="t.id IN (";
foreach ($id_pubs as $id_post) {
$where += "'". $id_post ."', ";
}
$where += ")";
$criteria->condition=$where;
$pubs = Publication::model()->findAll($criteria);
В итоге я не получаю ничего.
Скорее всего это из-за того, что в таблице физически не для всех Publication есть свой PublicationExt.
Если закоментировать строчку с with, то получаю что нужно, НО это уже не Жадная загрузка,
соответственно как я понимаю придётся ради каждого PublicationExt посылать SQL запрос.
Как в такой ситуации осуществить Жадную загрузку?