cakephp Paginator - >排序 - 模型选项

时间:2012-09-05 01:27:53

标签: cakephp pagination

我在使用不同模型的字段对表数据进行排序时遇到了一些问题。

从这里开始:http://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html

它说我可以添加'模型'选项但是当我尝试时:

echo $this->Paginator->sort('unit', 'Unit', array('model' => 'Unit'));

我收到此错误:

Warning (2): array_filter() expects parameter 1 to be array, null given [CORE/Cake/View/Helper/PaginatorHelper.php, line 395]

Warning (2): array_merge() [function.array-merge]: Argument #1 is not an array [CORE/Cake/View/Helper/PaginatorHelper.php, line 395]

知道这里发生了什么吗? Main / default模型是Card,我需要通过Unit模型为其中一个列标题排序。

由于

3 个答案:

答案 0 :(得分:2)

如果您在某些表格的列表中显示记录,则可以通过以下方式使用它:

<?php echo $this->Paginator->sort('Unit.unit', 'Unit');

如果没有传递第三个参数model选项,它将完美地工作。

答案 1 :(得分:0)

请尝试以下代码

echo $this->Paginator->sort('Unit.unit', 'Unit', array('model' => 'Unit'));

如果有的话,请告诉我。

答案 2 :(得分:0)

提醒您更新版本:CakePHP3s Paginator中不会自动加载关联模型。确保包含“sortWhitelist”选项,请参阅https://book.cakephp.org/3.0/en/controllers/components/pagination.html#control-which-fields-used-for-ordering