我在我的模型中构建了一个自定义函数并返回原始数据:
function(){
...
$connection=Yii::app()->db;
$command=$connection->createCommand($sql);
$rows=$command->queryAll();
return $rows;
}
$campModel = $model->函数..
然后我在 CArrayDataProvider 中使用这些行:
$dataProvider=new CArrayDataProvider($campModel);
最后我尝试使用 CGrid 查看:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'bo-campaigns-grid',
'dataProvider'=>$campModel,...
我猜这与 CGrid 的分页方式有关……但我迷路了 感谢您的帮助:)
最佳答案
创建一个新的 CSort 和 CPagination 对象并将它们分配给您的数据提供者,因为 CArrayDataProvider 没有定义它们。下面是一个 CSort 创建的例子:
$dataProvider=new CArrayDataProvider($campModel);
$sort = new CSort();
$sort->attributes = array(
'fecha'=>array(
'asc'=>'dateA DESC',
'desc'=>'dateA ASC',
),
);
$sort->route = 'myController/myMethod';
$dataProvider->sort = $sort;
$dataProvider->sort->defaultOrder='dateA DESC';
关于php - 使用 CArrey DataProvider 的 Yii 网格分页和排序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10944119/