我想对一些数据进行分页并使用FIND_IN_SET对其进行排序。如果只有一个参数,则可以像这样设置顺序:
$this->paginate['order'] = 'FIND_IN_SET(Catalog.pseudonym_id, "197,109,687")';
在CakePHP2中,当有一个以上的订单参数时,必须将它们作为键=>值输入。如何使用FIND_IN_SET完成?以下不起作用
array(
(int) 0 => 'FIND_IN_SET(Catalog.pseudonym_id, "197,109,687")',
'Catalog.catalog_type_id' => 'ASC',
'Edition.year' => 'asc'
)
array(
'FIND_IN_SET' => '(Catalog.pseudonym_id, "197,109,687")',
'Catalog.catalog_type_id' => 'ASC',
'Edition.year' => 'asc'
)
array(
'FIND_IN_SET (Catalog.pseudonym_id, "197,109,687")' => 'ASC',
'Catalog.catalog_type_id' => 'ASC',
'Edition.year' => 'asc'
)
有任何想法吗?解决吗?
最佳答案
使其工作的方法是将订单参数设置为字符串而不使用数组,然后就可以了,如下所示:
$this->paginate['order'] = 'FIND_IN_SET(Catalog.pseudonym_id, "197,109,687"), Catalog.catalog_type_id ASC, Edition.year ASC';
关于php - CakePHP 2.3如何使用find_in_set设置分页顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13326764/