我正在使用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()
。
指出我是否重复。提前谢谢。
答案 0 :(得分:0)
我找到了解决问题的方法。以下是我第一次paginate()
调用(实际存在问题)
page
的原始url
参数保存在另一个变量中 //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。
希望它会帮助别人!