我正在使用Yii 1.1.15,并想知道是否有办法调用多个范围?
在我的模型中:
public function scopes()
{
return array(
'notPending'=>array(
'condition'=>'t.pending!=1',
),
'limit5'=>array(
'limit'=>5,
),
'limit6'=>array(
'limit'=>6,
)
);
}
这是我视图中的dataProvider:
$dataProvider=new CActiveDataProvider(Comment::model()->notPending()->limit5()->findAll());
上面的代码没有将限制设置为5,并且给我这个错误
Fatal error: Call to a member function getDbCriteria() on a non-object in /Applications/XAMPP/xamppfiles/htdocs/dev/common/lib/yii/framework/web/CActiveDataProvider.php on line 225
有没有办法通过使用范围来实现?
答案 0 :(得分:0)
你拼错了,应该是:
Comment::model()->notPending()->limit5()->findAll() // see the last ()
来自here似乎在ActiveDataProvider中,您最后不需要设置findAll()
:
public function actionIndex()
{
$model = Orders::model()->own()->published();
$dataProvider=new CActiveDataProvider($model);
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
}