gpt4 book ai didi

sorting - Cakephp 3.3 按多列排序分页结果

转载 作者:行者123 更新时间:2023-12-04 21:58:47 25 4
gpt4 key购买 nike

需要一些帮助来对 cakephp 3.3 中的分页结果进行排序我想按多列排序,但如果我继续下一步(或任何其他页面),分页只考虑第一列。这是功能还是错误?

这是 Controller 中的分页命令:

$this->paginate = [
'limit' => 20,
'order' => [
'Iktato.evszam' => 'DESC',
'Iktato.iktatoszam' => 'DESC'
]
];

生成的查询:

SELECT 
Iktato.id AS `Iktato__id`,
Iktato.iktatoszam AS `Iktato__iktatoszam`,
Iktato.evszam AS `Iktato__evszam`,
Iktato.datum AS `Iktato__datum`,
Iktato.honnan AS `Iktato__honnan`,
Iktato.felado AS `Iktato__felado`,
Iktato.cimzett AS `Iktato__cimzett`,
Iktato.targy AS `Iktato__targy`,
Iktato.tema AS `Iktato__tema`,
Iktato.iktatoszemely AS `Iktato__iktatoszemely`,
Iktato.megjegyzes AS `Iktato__megjegyzes`,
Iktato.allapot AS `Iktato__allapot`,
Iktato.user_id AS `Iktato__user_id`
FROM
iktato Iktato
ORDER BY
Iktato.evszam desc
LIMIT
20 OFFSET 20

生成的分页链接只有一个排序参数。我们如何强制分页助手也考虑第二个参数?

最佳答案

您可以使用自定义查找器完成此操作。在模型的表类中:

public function findOrdered(Query $query, array $options)
{
return $query
->order([
'Iktato.evszam' => 'DESC',
'Iktato.iktatoszam' => 'DESC'
]);
}

然后在你的 Controller 中:

$this->paginate = [
'limit' => 20,
'finder' => 'ordered',
];

有了这个,分页链接应该按预期工作,但如果您在您看来使用分页列排序($this->Paginator->sort('evszam') 等)仍然会有问题。

关于sorting - Cakephp 3.3 按多列排序分页结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40086596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com