1

请帮忙....我是新手

我有 2 个表PAGECOMMENT。

表有列

$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))
4

2 回答 2

1

您尚未定义要分配给结果的“此查询”是什么。

但是,如果您只想获取与页面关联的所有评论的列表,那么您需要做的就是:

foreach($page->comments as $comment){
    ....
}

调用时$this->render执行以下操作:

$this->render('view', array('page'=>$page);

当您分配时,您$page实际上并不需要 with 方法 - 仅当您要查询这些字段时。所以这就足够了:

$page = Page::model()->findByPk($id)
于 2013-09-21T05:34:59.817 回答
1

要准确回答您的问题,您所要做的就是,

$this->render('view',array(
    'model'=>$this->loadModel($id),
    'result'=>$page
));
于 2013-09-21T10:15:15.517 回答