【问题标题】:Multiple paginator with different page number具有不同页码的多个分页器
【发布时间】:2015-11-05 15:00:34
【问题描述】:

我正在使用CakePHP 2.5.x。在单个请求中,我两次调用 paginate() 方法。在第一次通话中,我不需要page 参数,因为我为此选择了所有记录。

对于paginate() 的第二次调用,我根据URL 中的page 参数选择数据。

现在,担心的是:

http://localhost/xyz/home/get_data/page:1   //working fine
http://localhost/xyz/home/get_data/page:2   //throw 404 from first paginate()

第一次调用paginate() 时省略page 参数的好方法是什么。

P.S.我在两个paginate() 通话中使用相同的model

如果重复,请指出我。提前谢谢你。

【问题讨论】:

    标签: php cakephp pagination cakephp-2.5


    【解决方案1】:

    我想出了解决问题的方法。以下是我在第一次调用paginate() 时遵循的步骤(实际问题存在的地方)

    1. 我将 url 的原始 page 参数保存在另一个变量中
    //get original page number from request and set first page manually
    $original_page_number = !empty($this->request->params['named']['page']) ? $this->request->params['named']['page'] : 1;
    $this->request->params['named']['page'] = 1;
    1. 调用paginate()函数

    2. 将原始page 参数重新分配给request 对象

    //set back to original page number
    $this->request->params['named']['page'] = $original_page_number;

    由于我在第一次调用 paginate() 时遇到问题,所以我只为该调用省略了 page 参数。

    希望对某人有所帮助!

    【讨论】:

      猜你喜欢
      • 2016-12-29
      • 1970-01-01
      • 1970-01-01
      • 2014-01-26
      • 1970-01-01
      • 1970-01-01
      • 2020-09-21
      • 2015-07-21
      • 2021-10-13
      相关资源
      最近更新 更多