CakePHP 3.x - 如何直接传递分页配置而不是使用控制器`$ paginate`属性?

时间:2016-08-11 18:28:23

标签: cakephp configuration pagination cakephp-3.x

以下代码有效:

// Somewhere in the Controller
public $paginate = [ 'maxLimit'=>2 ];
// In the method:
$query=$this->Model->find('all')->where(....);
$this->set('results',$this->paginate($query));

但是,我不想在控制器中将$ paginate指定为public。我宁愿不指明它。我试图将maxLimit设置移动到方法但我做错了。如何更改以下代码?

$query=$this->Model->find('all')->where(....);
$this->set('results',$this->paginate($query, ['maxLimit'=>2]));

1 个答案:

答案 0 :(得分:3)

Controller::paginate()方法没有采取第二个参数。您正在寻找的是Paginator组件的$this->Paginator方法,可以通过$this->Paginator->paginate($query, ['maxLimit' => 2]) 属性在控制器中访问。

{{1}}

另见