CakePHP 分页顺序不起作用

CakePHP Pagination Order by doesn't work

我正在使用 AngularJS & CakePHP 制作应用程序。

我在 Cake 中有一项 Web 服务可能 return 订购了数据,但它没有这样做,它 returns 数据来自数据库。

这是我的代码的一部分:

     $this->Paginator->settings = array('limit' => 20, 'page' => $this->request->data['page']+1, 'recursive' => -1);
     $data = $this->Paginator->paginate('Country', $conditions, $order);

有人有想法吗?

这是 Paginator 分页组件的签名(参见 http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html#custom-query-pagination):

public function paginate(Model $model, $conditions, $fields, $order, $limit,
    $page = 1, $recursive = null, $extra = array())

您应该传递的第二个参数是字段,而不是顺序。

但是,您也可以只在设置数组中定义顺序,就像使用查找条件一样。

试试这个

$this->paginate = array(
        'limit' => 20,
        'conditions'=>$conditions,
        'order' => $order
        );
$data = $this->paginate('Country');