【发布时间】:2017-12-19 06:54:42
【问题描述】:
我有以下事件控制器:
public $paginate = [
'sortWhitelist' => ['title', 'id', 'price', 'date', 'Categories.description'],
'order' => ['date' => 'desc']
];
还有一个索引方法:
$events = $this->Events->find()->contain(['Categories']);
$this->set('events', $this->paginate($events));
在我的视图文件中,我有一个带有echo $this->Paginator->sort('id', 'code') 的表和一个
echo $this->Paginator->numbers([
'separator' => '',
'currentTag' => 'a',
'modulus' => 25,
'currentClass' => 'active',
'tag' => 'li',
'first' => 1
]);
如果我转到页面/events,我会得到预期的结果。如果我按 id 排序并在第 2 页中单击,则 url 显示 events?page=2&sort=Events.id&direction=asc 并且结果不正确。
我看到 sql 日志并没有出现 order by 子句。如果我在没有模型的情况下手动编辑 url:events?page=2&sort=id&direction=asc 结果是正确的。
是我做错了什么还是一个错误?
谢谢
【问题讨论】:
标签: sorting cakephp pagination cakephp-3.3