我有Posts
表Translate
行为,我想在索引视图的表格上按标题对其进行排序。我无法按照翻译的字段进行排序,因为字段实际上并不存在于数据库中。它们存在于i18n
表中。
正如我上面所解释的那样,这不起作用:
$this->Paginator->sort('title');
$this->Paginator->sort('Posts_title_translation.content');
那么,我该怎么办?我错过了什么?
非常感谢!
答案 0 :(得分:2)
第二个变体应该在字段列入白名单后起作用,这通常是用于排序的关联所必需的:
$this->paginate = [
// ...
'sortWhitelist' => [
'Posts_title_translation.content',
// ...
]
];
请注意,在使用白名单的情况下,您必须添加Posts
表中需要用于排序的所有其他字段!
另请参阅 Cookbook > ... Components > Pagination > Control which Fields Used for Ordering