我似乎有一个奇怪的问题。 使用Cakephp2我有3个相关的表:
taxon->has genus_id
genus -> has family_id
使用Taxon模型我可以按预期正确地检索所有数据。现在我想对家庭进行评论。因此我手动将连接写入paginate数组。如果我添加
'order' => 'Family.family desc'
直接到paginate数组,排序按预期工作。但只有params
sort:Family.family/direction:desc
不是网址的一部分。只要这些参数被添加到网址,订单部分就会被清空。如何避免此行为并正确排序结果?
答案 0 :(得分:0)
问题似乎是Paginator.validateSort的实现。如果传递了排序参数,则验证排序检查(如果模型已传递字段)。此检查仅针对模型和直接(第1级)相关模型进行,但不针对具有更深嵌套关联的模型。 我通过修改validateSort方法解决了这个问题。我添加了(不是很优雅)传递字段的可能性,然后是'Family.family!'这样的感叹号。即使这些字段未通过检查,也会将这些字段添加到订单数组中。
此致
亚历