我正在尝试将分页数量的页面添加到Cakephp 3.3的json响应中。我按照Cakephp 3.3文档使用paginator方法进行查询并激活了json扩展,您只需将.json添加到控制器的末尾,并获取json响应的函数。我得到的结果是分页的第一页,但是我想在之前添加一个参数,告诉我有多少页被分页,这样我就可以显示还有多少页可以继续。我试图得到的json响应的示例如下,其中pages是paginator值:
{ pages: [pages:5],
clients: [
{
id: 1,
first_name: "Kirby",
last_name: "Bonner"
}]
}
我多次被告知要查看文档,但说实话,我没有看到我在这里尝试做什么的明确解释。如果有人能指导我做一个明确解释如何做到这一点的示例或文档,我真的很感激。谢谢。
答案 0 :(得分:1)
我在http://florian-kraemer.net/2015/10/cakephp-angularjs-pagination/
找到了问题的答案但是,在完成查询后,您必须对分页进行验证,否则它将始终返回false;
以下是代码示例:
public function index() {
$query = $this->Table->find();
if (empty($this->request->params['paging'][$this->Table->alias()])) {
$paging = false;
} else {
$paging = $this->request->params['paging'][$this->Table->alias()];
}
$this->set('records', $this->paginate($query));
$this->set('paging', $paging);
$this->set('_serialize', ['records', 'paging']);
}