按yii中的关系STAT排序

时间:2012-03-19 14:28:15

标签: php yii relationship

我正在使用yii框架。我有一个关系

'revCount'=>array(self::STAT, 'Review','rid','condition'=>'status=1')//count review for each restaurant

现在我想通过点评来获取所有餐厅的订单。

Restaurant::model()->findAll('with'=>'revCount');

我还需要添加什么才能通过评论计算所有餐厅?

2 个答案:

答案 0 :(得分:1)

这是您使用单个查询加入其他模型的方法:

Restaurant::model()->with('revCount')->findAll();

但我认为你想要的不是加入模型,而只是按它排序。与此类似:

Restaurant::model()->with(array(
    'reviews'=>array(
        // we don't want to select reviews
        'select'=>false,
        // but want to get only reviews with status=1
        'joinType'=>'INNER JOIN',
        'condition'=>'reviews.status=1',
    ),
))->findAll();

答案 1 :(得分:1)

您应该可以执行以下操作..

Restaurant::model()->findAll('with'=>'revCount', 'select' => '(SELECT COUNT(*) FROM review WHERE rid = t.id AND status = 1) AS revCount');