【发布时间】:2011-07-10 03:45:37
【问题描述】:
在同一个控制器的几个地方我有这样的代码:
$publications = $this->paginate('Publication', $conditions);
...其中 $conditions 是条件数组,选择哪些字段以及如何选择(在 mysql 中使用 LIKE)。
他们每个人都有不同的“订购依据”声明。
我怎样才能做到这一点,并定义 sql 的不同“order by”部分?
更新(2011-03-11):这是我定义分页的一部分:
$this->paginate = array(
'limit' => 1,
'fields' => array('`Publication`.*, PublicationNumeration.*, Collection.*, Publisher.*, Publication.title as PublicationTitle'),
'joins' => array( array('table' => 'publication_numerations', 'alias' => 'PublicationNumeration', 'type' => 'LEFT', 'conditions' => array( 'Publication.id = PublicationNumeration.publication_id' ) ) )
, 'order' => array('PublicationTitle desc')
);
$publications = $this->paginate('Publication', $conditions);
$this->set(compact('publications', 'urlArgs'));
带有“limit”的部分有效,但“order”无效,并且在调试模式下根本不显示。
【问题讨论】:
-
请发布您的
$conditions数组。
标签: cakephp controller sql-order-by cakephp-1.3