我在Yii应用程序中有一个$items数组,我想对其进行分页。数组与数据库无关,因此这里不需要考虑任何条件,只需要显示一堆定义的项。所以我试着像这样使用CActiveDataProvider:
$dataProvider = new CActiveDataProvider($items, array(
'pagination' => array(
'PageSize' => 10,
)
));
$this->renderPartial('view', array('dataProvider'=>$dataProvider));
然后在视图中,我试图显示信息:
$this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'_view',
'template'=>"{items}'n{pager}",
));
我收到了一个Call to a member function getDbCriteria() on a non-object
致命错误,这是完全可以理解的,因为我的$items数组是自定义的,与数据库无关,所以我的问题是如何解决这个问题,甚至可以使用CActiveDataProvider吗?
如果没有,是否有其他方法可以为自定义的非数据库相关数组创建分页?
这种情况下有CArrayDataProvider。
$dataProvider=new CArrayDataProvider($items, array(
'pagination'=>array(
'pageSize'=>10,
),
));