如何在CakePHP中分页多个结果?

时间:2010-08-03 07:46:38

标签: php cakephp pagination resultset

如何在cakePHP中使用paginatation helper在同一页面上显示多个结果集?他们会独立分页。

编辑:
我找到了一个不能做到这一点的原因是因为分页助手会从控制器/动作获取其URL,然后在最后附加其参数。 如果它从地址栏中提取了url,拥有自己的唯一变量,然后执行str_replace以使下一个导航到已导入(如果已经分页),或者如果它不存在则附加它。 现在,我正在考虑重写分页助手来支持这个功能,但我不确定我是否需要或者他们是否已经支持这个并且我做错了

1 个答案:

答案 0 :(得分:5)

这是我的解决方案。在您的控制器中:

function index(){
    // Your default model
    $this->set('model1', $this->paginate());
    // Pagination for model2
    $this->set('model2', $this->paginate('Model2'));
}

在您看来:

// Display your model1 data, and then for prev and next 
echo $paginator->prev($options = array('model' => 'Model1'));
echo $paginator->next($options = array('model' => 'Model1'));


// Display your model2 data, and then for prev and next 
echo $paginator->prev($options = array('model' => 'Model2'));
echo $paginator->next($options = array('model' => 'Model2'));

要点是将您的模型名称输入到Controller的paginate方法和Paginator的链接方法(sort,prev,next)。