【问题标题】:Adding pagination value to json response in Cakephp 3.3在 Cakephp 3.3 中向 json 响应添加分页值
【发布时间】:2017-03-06 15:34:43
【问题描述】:

我正在尝试将页数分页值添加到 Cakephp 3.3 的 json 响应中。我按照 Cakephp 3.3 文档使用 paginator 方法进行查询并激活了 json 扩展,您只需将 .json 添加到控制器的末尾以及获取 json 响应的函数。我得到的结果是分页的第一页,但是我想在它之前添加一个参数,告诉我已经分页了多少页,这样我就可以显示还有多少页可以继续。我试图获得的 json 响应示例如下,页面是分页器值:

    { pages: [pages:5],
      clients: [
     {
       id: 1,
       first_name: "Kirby",
       last_name: "Bonner"
     }]
    }

我多次被告知要查看文档,但老实说,我没有看到关于我在这里尝试做什么的明确解释。如果有人可以指导我查看清楚解释如何执行此操作的示例或文档,我将不胜感激。谢谢。

【问题讨论】:

  • 我很确定这不是您想要的响应,因为那是无效的 JSON。
  • 该示例基于我得到的 json。我只添加了页面:[pages:5],part.

标签: json pagination cakephp-3.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']);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-25
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    • 2018-07-13
    • 2021-06-23
    • 1970-01-01
    相关资源
    最近更新 更多