CActiveDataProvidershi基于ActiveRecord的一个数据提供者;
CActiveDataProvider为类modelClass的ActiveRecord对象提供数据,它使用AR类的CActiveRecord::findAll方法, 从数据库中检索信息;criteria属性能够用来 查询多种指定条件。
CActiveDataProvider的使用方法如下:
$dataProvider = new CActiveDataProvider('Post', array(
'criteria'=>array(
'condition'=>'status=1',
'order'=>'create_time DESC',
'with'=>array('author'),
),
'pagination'=>array(
'pageSize'=>20,//指定页大小以实现查询数据的分页显示
),
));
// 调用$dataProvider->getData() 会返回一个post对象的数据列表
可以配合CListView组件来使用,如下:
$dataProvider=new CActiveDataProvider('Post');
$this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'_post', // 指定需要展示的页面
'sortableAttributes'=>array(
'title',
'create_time'=>'Post Time',
),
));