具有不同页码

时间:2015-11-05 05:34:37

标签: php cakephp pagination cakephp-2.5

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

对于paginate()的第二次通话,我根据网址中找到的page参数选择数据。

现在,关注的是:

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

在第一次page电话中省略paginate()参数的好方法。

P.S。我对model电话同时使用paginate()

指出我是否重复。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。以下是我第一次paginate()调用(实际存在问题)

的步骤
  1. 我将page的原始url参数保存在另一个变量中
  2. //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对象

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

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

      希望它会帮助别人!