我使用了yii blog from Yii Framework
我希望在RecentComments列表中显示已发布的帖子和已批准的评论
我在评论模型中使用了此代码
public function findRecentComments($limit=10)
{
return $this->with('post')->findAll(array(
'condition'=>'t.status='.self::STATUS_APPROVED.'status='.Post::STATUS_PUBLISHED,
'order'=>'t.create_time DESC',
'limit'=>$limit,
));
}
但在RecentComments列表中显示所有帖子和批准的评论
我想在RecentComments列表中显示发布的帖子和批准的评论
答案 0 :(得分:2)
关系模型的设置条件在with()函数内完成。 我认为findAllByAttributes()更易读,所以这里使用这个函数的解决方案
public function findRecentComments($limit=10)
{
return $this->with(array('post' => array(
'condition' => 'post.status=:status',
'params' => array(':status' => Post::STATUS_PUBLISHED),
)))->findAllByAttributes( array(
self::getTableAlias(false, false).'.status' => self::STATUS_APPROVED
),
array(
'order'=> self::getTableAlias(false, false).'.create_time',
'limit' => $limit
) );
}