0

如果 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'),

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

4

1 回答 1

1

您应该使用scopes而不是with.

'scopes' => array('avg_all'),
于 2013-06-09T09:21:56.863 回答