CakePHP忽略$ paginate属性

时间:2013-08-26 17:58:39

标签: php cakephp pagination

我刚刚发布了一个简单的CakePHP应用程序,我正在尝试自定义记录的分页方式。我在我的控制器中有这个动作:

public function index() {
    $this->Recipe->recursive = 0;
    $this->set('recipes', $this->Recipe->paginate());
}

这适用于默认分页。我试图通过在同一个控制器中使用名为$paginate的类属性来自定义返回的行数及其顺序:

public $paginate = array(
    'limit' => 1,
    'order' => array(
        'Recipe.title' => 'asc'
    )
);

然而它根本没有任何效果。结果仍然具有默认限制和排序顺序。我也尝试在我的操作中设置$this->paginate,但这似乎也被忽略了:

public function index() {
    $this->paginate = array(
        'limit' => 1,
        'order' => array(
            'Recipe.title' => 'asc'
        )
    );
    $this->set('recipes', $this->Paginator->paginate());
}

什么可能导致Cake忽略我设置的分页选项?当你烘焙我不知道的应用程序时,它是否可能做一些时髦的事情?

1 个答案:

答案 0 :(得分:2)

尝试

public function index() {
    $this->Paginator->settings = array(
        'limit' => 1,
        'order' => array(
            'Recipe.title' => 'asc'
        )
    );
    $this->set('recipes', $this->Paginator->paginate());
}