【问题标题】:How to paginate multiple results in CakePHP?如何在 CakePHP 中对多个结果进行分页?
【发布时间】:2011-03-24 14:21:20
【问题描述】:

如何使用 cakePHP 中的分页助手在同一页面上显示多个结果集?他们会独立寻呼。

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

【问题讨论】:

  • 在什么意义上?两个合并的结果集还是两个独立的结果集?

标签: php cakephp pagination resultset


【解决方案1】:

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

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的分页方法和分页器的链接方法(排序、上一个、下一个)中输入你的模型名称。

【讨论】:

    猜你喜欢
    • 2023-03-10
    • 2015-04-05
    • 2012-12-01
    • 2014-01-25
    • 2014-07-21
    • 2015-08-20
    • 2021-01-30
    • 1970-01-01
    • 2020-01-11
    相关资源
    最近更新 更多