Yii ActiveRecord使用范围与另一个范围

时间:2013-06-08 09:13:07

标签: php activerecord yii

如果yii活动记录模型在同一模型的另一个范围内,我想使用一些范围 看到下面的代码,你会明白我想说的是什么吗?

public function scopes() {
    return array(
        'avg_all'=>array(
            'select'=>array(
                'avg_fp_1'=>'AVG(CASE when t.fp_1>=0 then t.fp_1 ELSE NULL END)',
                'avg_fp_2'=>'AVG(CASE when t.fp_2>=0 then t.fp_1 ELSE NULL END)',
                'avg_fp_3'=>'AVG(CASE when t.fp_3>=0 then t.fp_1 ELSE NULL END)',
                'avg_fp_4'=>'AVG(CASE when t.fp_4>=0 then t.fp_1 ELSE NULL END)',
                'avg_fp_5'=>'AVG(CASE when t.fp_5>=0 then t.fp_1 ELSE NULL END)',
            ),
        ),
        'avg_feedback'=>array(
            'with'=>array('avg_all'),
            'select'=>array(
                'avg_feedback'=>'ROUND((avg_fp_1+avg_fp_2+avg_fp_3+avg_fp_4+avg_fp_5)/5,2)'
            )
        )
    );
}

主要问题'with'=>array('avg_all'),

是否可以在范围内使用另一个范围。

1 个答案:

答案 0 :(得分:1)

您应该使用scopes代替with

'scopes' => array('avg_all'),