这个问题几个月来一直困扰着我。我有一个CakePhp应用程序,我蛋糕烘焙,以获得基本的CRUD功能。所以烘焙的Index方法就是这个....
public function index() {
$this->User->recursive = 0;
$this->set('users', $this->Paginator->paginate());
}
问题在于您无法对结果进行排序。我想要的是能够对结果进行排序,以便按升序显示我的所有用户名。
我能够像这样编写自己的QUERY .....
public function index() {
$this->set('users',$this->User->query("SELECT * FROM users ORDER BY name ASC"), $this->Paginator->paginate());
}
这样我的结果就可以正常 但问题是它根本不会分页。 我把所有58个结果都放在一页上。
任何人都可以帮我写这个,这样我可以订购和限制我的结果并仍然有Paginate()工作吗?
答案 0 :(得分:1)
Paginator几乎只是find()
方法的包装器。它允许您使用与查找相同的选项,因此您只需在Paginator设置中设置order
键,如下所示:
$this->Paginator->settings = array(
'order' => array('name' => 'asc')
);
// Now you can paginate() with order...
$this->Paginator->paginate();
在CakePHP的pagination documentation {<3}}中,这些都被广泛记录。