3
我按照CakeBook创建基于Ajax的分页。链接全部正常工作,路由正在工作,因为它将请求发送到控制器上的正确操作。我在控制器操作中获取相关页码,然后将其发送给Paginate助手以获取数据。但是,只有返回结果的第一页,无论页面是否设置。所以,我没有在模型上果然我总是让网页集的PAGINATE功能的覆盖,以1在Cakephp中设置Ajax分页未设置页面
控制器动作代码..
public function reviews(){
if ($this->RequestHandler->isAjax()) {
if(!empty($this->params['page'])) {
$review = $this->Page->find('first', array('conditions'=>array('friendly'=>'reviews')));
$this->layout = 'ajax';
$this->paginate = array(
'page' => $this->params['page'],
'limit' => 3,
'order' => array(
'Review.rating'=>'desc')
);
$reviews = $this->paginate('Review');
$this->set(compact('review','reviews'));
}
}
}
那么,如何让分页程序使用我正在发送的页面?
你不需要设置页面,所以你可以删除它。你确定有多个页面可以显示吗?另外,我没有看到您的分页覆盖。 – jeremyharris
嗨,我手动添加了页面,因为它总是发送第一页。我把分页覆盖掉了。我只做了它看到它正在发送什么页码,它始终是1,因此得出结论,问题出在控制器而不是模型。 –
分页与模型无关:)分页程序只是根据分页参数设置常规查找调用的限制。你确定有第2页?你也看过生成的SQL吗? – jeremyharris