有时候我们需要获取一个表的数据并列举出来
一般自动生成的Controller中,在actionIndex方法中会通过调用CActiveDataProvider来生成dataProvider
但是这个方法会把所有字段都获取出来,比如想密码这种字段其实没有必要获取的,所以我们可以通过增加参数来做一些调整
原本的代码为:
$dataProvider=new CActiveDataProvider('Member'); $this->render('index',array( 'dataProvider'=>$dataProvider ));
在CActiveDataProvider调用时增加参数
$criteria = new CDbCriteria; $criteria->select = "id, member_num, o_id, d_id"; //需要的字段 $dataProvider=new CActiveDataProvider('Member', array( "criteria" => $criteria, 'sort'=>array( 'defaultOrder'=>'id ASC', //排序方法 ), 'pagination'=>array( 'pageSize'=>5 //每页数目 ) )); $this->render('index',array( 'dataProvider'=>$dataProvider ));
这样通过CDbCtriteria对象来增加筛选条件,就能获取自己需要的数据了。