2015-11-05 64 views
0

我正在使用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() 

會有什麼省略page參數有關第一paginate()呼叫好辦法。

P.S.我爲paginate()調用使用相同的model

指出我是否重複。先謝謝你。

回答

0

我想出瞭解決問題的方法。下面是我下面對第一paginate()呼叫步驟(其中實際問題存在)

  1. 我從url保存原始page PARAM在另一個變量
//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;
  • 呼叫paginate()功能

  • 重新分配原page參數去request對象

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

    正如我在第一paginate()通話問題,所以我省略page PARAM只有這一呼籲。

    希望它能幫助別人!