我有一个具有翻译
行为的Posts
表,我想在索引 View 的表上按标题对其进行排序。我无法按翻译的字段进行排序,因为数据库中实际上不存在该字段。它们存在于 i18n
表中。
正如我上面所解释的,这不起作用:
$this->Paginator->sort('title');
$this->Paginator->sort('Posts_title_translation.content');
那么,我该怎么办呢?我错过了什么?
非常感谢!
最佳答案
一旦字段被列入白名单,第二个变体就应该起作用,这对于用于排序的关联通常是必需的:
$this->paginate = [
// ...
'sortWhitelist' => [
'Posts_title_translation.content',
// ...
]
];
请注意,设置白名单后,您还必须添加 Posts
表中需要用于排序的所有其他字段!
另请参阅 Cookbook > ... Components > Pagination > Control which Fields Used for Ordering
关于sorting - Cakephp 3 分页器使用翻译行为 i18n 对字段进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31424584/