2011-08-09 44 views
0

我有简单的CakePHP控制器,具有索引方法。相同的CakePHP控制器与不同的“通过顺序”

我的愿望是相同的使用控制器和相同的方法,针对两种情况,在一个地方将选择(列表)从第一类的记录,排在第二的第二类。所以它看起来很简单。

但在这两种情况下,我需要不同的“排序” MySQL的声明。

我需要重写分页方法,或者有另一种方式来实现这一目标?

预先感谢您!

UPDATE:这是怎样的记录作出选择:

$contents = $this->Content->find('all', array('fields'=>array('Content.*'), 'order'=>array('Content.id DESC'), 'conditions' => array('Content.category_id' => $category_id))); 

通常情况下,我会做分页与

$data = $this->paginate('Content'); 

但在这种情况下,它是不够的,因为我需要(至少)两个不同的“排序”语句

回答

0

只需设置$this->paginate['Model']['order']插图中调用$this->paginate('Model');。如果不清楚,请用一些代码更新您的答案。

$this->paginate['Content'] = array('fields'=>array('Content.*'), 'order'=>array('Content.id DESC'), 'conditions' => array('Content.category_id' => $category_id))); 
$contents = $this->paginate('Content'); 

请注意,您将遇到问题paginating 2 models on the same page

+0

我更新了我的问题,请你看一下,好吗? – user198003

+0

我已经更新了我的答案,如果你有'pr($ this-> paginate)'这将会清楚它只是一个你可以随意改变的变量 – Dunhamzzz

相关问题