分页集合如何追加数据?

我获取到的分页里只有一条数据 代码如下。

LengthAwarePaginator {#520 ▼
  #total: 1
  #lastPage: 1
  #items: Collection {#521 ▼
    #items: array:1 [▼
      0 => array:2 ["id" => 1
        "time" => 2017-08-18
      ]
    ]
  }
  #perPage: 5
  #currentPage: 1
  #path: "http://localhost/test"
  #query: []
  #fragment: null
  #pageName: "page"

我现在的需求是希望可以在整个分页的数组中插入 9 条数据,使分页有 10 条数据,可以显示两页。这样相当于在 time 在前 9 天都有数据,,这种情况要怎么插入数据到分页集合中呢。

Good Good Study , Day Day Up!!
Jourdon
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

你得到的是一个分页类对象。已经实例化的分页类对象是无法操作其属性的(因为其属性都是 protected

  • 最简单的方法可能直接是往数据库填充 10 条数据。(如果确实没有,并不想填充请看下面)
  • 查询的时候不要直接使用 pageintor 函数
    $data = [$a];
    $data = [$a, $b, $c, $d ...];   //生成其他九条数据
    $paginator = new LengthAwarePaginator($data, $total = 10, $perPage = 5, $page = 1, [
            'path'     => Paginator::resolveCurrentPath();, //生成路径
            'pageName' => 'page',
        ]);

    关于分页类的具体用法和实现可以自己看下 vendor\laravel\framework\src\Illuminate\Pagination\LengthAwarePaginator.php

7年前 评论
Jourdon

@cellus 感谢

7年前 评论

获得 LengthAwarePaginator 对象以后 ,可以使用对象的 getCollection() 方法 获得 \Illuminate\Support\Collection 对象,此对象的 push , prepend 方法可以向分页里面追加数据。

7年前 评论