Есть 2 таблицы:
CREATE TABLE IF NOT EXISTS `cf_post` (<br>
`id` int(11) NOT NULL auto_increment,<br>
`title` varchar(128) NOT NULL,<br>
`content` text NOT NULL,<br>
`tags` text,<br>
`status` int(11) NOT NULL,<br>
`create_time` int(11) NOT NULL,<br>
`update_time` int(11) NOT NULL,<br>
`author_id` int(11) NOT NULL,<br>
PRIMARY KEY (`id`)<br>
) ENGINE=MyISAM DEFAULT CHARSET=utf8;<br><br>
CREATE TABLE IF NOT EXISTS `cf_comment` (<br>
`id` int(11) NOT NULL auto_increment,<br>
`content` text NOT NULL,<br>
`status` int(11) NOT NULL,<br>
`create_time` int(11) NOT NULL,<br>
`author` varchar(128) NOT NULL,<br>
`email` varchar(128) NOT NULL,<br>
`url` varchar(128) NOT NULL,<br>
`post_id` int(11) NOT NULL,<br>
PRIMARY KEY (`id`)<br>
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
И 2 модели связанные между собой.
Модель Post:
public function relations()<br>
{<br>
return array(<br>
'comments' => array(self::HAS_MANY, 'Comment', 'post_id'),<br>
);<br>
}
Модель Comments:
public function relations()<br>
{<br>
return array(<br>
'post' => array(self::BELONGS_TO, 'Post', 'post_id'),<br>
);<br>
}
Пытаюсь получить список постов и связанные с постом комментарии:
$dataPosts = Post::model()->with('comments')->findAll();<br>
$dataComments = $dataPosts->comments;
Но $dataComments таким образом приходит как NULL.
Если делать запрос
$dataPosts = Post::model()->with('comments')->findByPk(1);
то $dataComments нормально заполняется комментариями.
Если делаю так:
$dataPosts = Post::model()->with('comments')->findAll();<br><br>
foreach($dataPosts as $val)<br>
{<br>
echo $val->comments[1]->content;<br>
}
то получается вытащить комментарии. Вопрос как вытаскивать эти комментарии из переменной $dataComments;