我正在使用蛋糕php滚动分页来分页产品。 我在视图部分使用复选框组来设置用户对分页的手动条件。 我使用以下代码在ajax请求之后设置条件。
class SearchController extends AppController {
public $helpers = array('Html', 'Form', 'Session','Paginator','Js' => 'Jquery');
public $components = array('RequestHandler','Session','Cookie','Paginator');
public function index() {
$this->loadModel("Bangsworkinghrs");
$agetworkinghrs = $this->Bangsworkinghrs->getworkinghrs();
$this->set('agetworkinghrs', $agetworkinghrs);
$this->loadModel("Gig");
$options = array('Gig.subcategory' => 'Logo Design');
if(!empty($this->request->data['filter']['workinghrs'])) {
$options = array('Gig.subcategory' => 'Logo');
}
$this->Paginator->settings = $options;
$agetGigsItem = $this->Paginator->paginate('Gig', $options);
$this->set('agetGigsItem', $agetGigsItem);
}
}
通过这段代码,我能够改变分页条件,但服务器只爆炸默认的20条记录,下一条记录没有被服务器爆炸,并且没有错误信息我的cakephp版本是2.6.8
答案 0 :(得分:1)
您缺少'页面'并且限制' Cakephp默认分页的属性。
在您的选项数组中,您需要传递页码而不是每页的记录数。
这样的东西,但是以动态的方式。
$options = array('conditions' => array('Gig.subcategory' => 'Logo Design'),'page'=>2,'limit'=>20);
答案 1 :(得分:1)
$('#filter').submit();
尝试提交表单并从您的jquery part replace filter中删除ajax刷新数据。
答案 2 :(得分:0)
using action="get" in the form where $this->request->query['filter']['workinghrs'] data is come.
编码:
public $paginate = array(
'limit' => 20
);
public function index()
{
$this->loadModel("Gig");
$options = array('Gig.subcategory' => 'Logo Design');
if(!empty($this->request->query['filter']['workinghrs'])) {
$options = array('Gig.subcategory' => 'Vector Design');
}
$this->Paginator->settings = $options;
$agetGigsItem = $this->Paginator->paginate('Gig', $options);
$this->set('agetGigsItem', $agetGigsItem);
}