我在CakePHP页面上使用分页并且效果很好,但是我在一个控制器文件中有不同函数生成的几个页面,这是一个麻烦的问题。
我们假设我有两个包含数百个条目的表,我的分页器在一个页面上划分并显示15个条目:
public $paginate = array(
'Table1' => Array(
'order' => array('Table1.id' => 'desc'),
'limit' => 15
),
'Table2' => Array(
'order' => array('Table2.id' => 'asc'),
'limit' => 15
)
);
此控制器文件中的函数:
public function showTable1() {
$this->set('table', $this->paginate('Table1'));
}
public function showTable2() {
$this->set('table', $this->paginate('Table2));
}
当我在显示“表1”时进入下一页时,我转到下一页并且效果很好。但是当我用同一个控制器文件中的另一个函数生成的“表2”打开另一个页面时,遗憾的是它也会转到第二页。
我应该怎么做才能拥有不同的“页面指标”?我的意思是,当我进入“表1”的第三页时,当我转到“表2”时,我不想进入第三页。
提前致谢。我希望我能清楚地表达我的问题。
答案 0 :(得分:0)
而不是在控制器顶部设置分页选项,尝试删除public $paginate
并设置内部所有选项,如下所示(以及与第二个操作类似的方式)
public function showTable1() {
$options = array(
'conditions' => array(
'Table1.id' => whatever
),
'fields' => array(
'Table1.id'
),
'order' => array(
'Table1.id' => 'DESC'
),
'limit' => 15
);
$this->Paginator->settings = $options;
$table = $this->Paginator->paginate('Table1');
$this->set(compact('table'));
}