php - 使用 CArrey DataProvider 的 Yii 网格分页和排序不起作用

标签 php yii yii-cmodel zii-widgets

我在我的模型中构建了一个自定义函数并返回原始数据:

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/

相关文章:

php - Apache/xampp 无法在 ubuntu 端口 80 上运行

php - 为什么使用 NuSOAP 而不是 PHP SOAP?有什么好处吗?

php - Yii mysql 服务器消失了

yii - 如何使用 Yii 框架使用 yiic 命令创建 webapp

mysql - 在 Yii console.log 中记录更少的条目

PHP/MySQL : Rating system - Sum each user vote or update general votes table?

php - 使用 Facebook API 在提要对话框中标记某人

php - Yii:从一个表单中保存多个模型并检查现有记录

php - yii 中的多模型形式

php - 在 Gii 上添加 where close 生成的 CRUD