1

我刚刚制作了一个简单的 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 忽略我设置的分页选项?当您烘焙我不知道的应用程序时,它可能会做一些时髦的事情吗?

4

1 回答 1

2

尝试

public function index() {
    $this->Paginator->settings = array(
        'limit' => 1,
        'order' => array(
            'Recipe.title' => 'asc'
        )
    );
    $this->set('recipes', $this->Paginator->paginate());
}
于 2013-08-26T18:26:01.600 回答