2

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

从这里: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]

知道这里发生了什么吗?主要/默认模型是卡片,我需要按单元模型订购其中一个列标题。

谢谢

4

3 回答 3

2

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

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

model无需传递第三个参数选项,它将完美地工作。

于 2012-09-05T06:44:40.963 回答
1

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

于 2017-09-26T15:17:47.710 回答
0

请尝试以下代码

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

让我知道是否有。

于 2012-09-05T04:50:03.050 回答