请帮助....我是新手
我有2个表 PAGE 和评论。
Page 表有列
$id
$user_id
$content
评论表中有列
$id
$user_id
$page_id
$date_entered
$comment **The comment column consist of an array of comments as one user can have many comments**
在Page模型中,relation()中的关系定义为
return array(
'comments' => array(self::HAS_MANY, 'Comment', 'page_id')
)
现在在PageControllor.php中,我已经在actionView()
中定义了这个查询$page = Page::model()->with('user','comments')->findByPk($id);
现在我的问题是
如何在 $ result 中获取此查询的结果,以便我可以将其作为
传递给视图页面$this->render('view',array('model'=>$this->loadModel($id),'result'=>$result))
答案 0 :(得分:1)
您尚未定义要为结果分配的“此查询”。
但是,如果您只想获得与页面相关的所有评论的列表,那么您需要做的就是:
foreach($page->comments as $comment){
....
}
致电$this->render
时,请执行以下操作:
$this->render('view', array('page'=>$page);
当您指定$page
时,实际上并不需要with方法 - 只有当您要查询这些字段时才会这样做。所以这就足够了:
$page = Page::model()->findByPk($id)
答案 1 :(得分:1)
要准确回答您的问题,您所要做的就是,
$this->render('view',array(
'model'=>$this->loadModel($id),
'result'=>$page
));