Php yii中的关系统计顺序

Php yii中的关系统计顺序,php,yii,relationship,Php,Yii,Relationship,我正在使用yii框架。我有亲戚 'revCount'=>array(self::STAT, 'Review','rid','condition'=>'status=1')//count review for each restaurant 现在我想按点菜次数取所有餐厅的订单 Restaurant::model()->findAll('with'=>'revCount'); 我还需要添加哪些内容,以便按评论计数获得所有餐厅的订单?这是通过单个查询连接其他模型的方式: R

我正在使用yii框架。我有亲戚

'revCount'=>array(self::STAT, 'Review','rid','condition'=>'status=1')//count review for each restaurant
现在我想按点菜次数取所有餐厅的订单

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

我还需要添加哪些内容,以便按评论计数获得所有餐厅的订单?

这是通过单个查询连接其他模型的方式:

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();

你应该能够做到以下几点

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

你试过餐厅::model()->findAll('with'=>'revCount','order'=>'revCount');行吗?不行。它说“revCount”列不存在