yii在Controller中使用CActiveDataProvider获取数据列表

有时候我们需要获取一个表的数据并列举出来

一般自动生成的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对象来增加筛选条件,就能获取自己需要的数据了。


原文地址:https://www.cnblogs.com/leftice/p/3788216.html