为数据分页后最外层数据结构不允许更改搞出来的花活儿

$list = $model->newFromBuilder(['custom_builder' => new CustomQueryBuilder($model->getQuery(),$model)])
  ->getAttribute('custom_builder')
  ?->appendPageData(['custom_field' => $noReadCount])
  ->orderBy('created_time','DESC')
  ->paginate($request->get('per_page'));

重写Illuminate\Database\Query\Builder中的paginate方法
重写Illuminate\Database\Concerns\BuildsQueries复用类中paginator方法
重写Illuminate\Pagination\LengthAwarePaginator 重写toArray方法

{
    "code": 200,
    "data": {
        "current_page": 1,
        "data": []
        }
        "first_page_url": "****",
        "from": 1,
        "last_page": 9,
        "last_page_url": "***",
        "links": [
            {
                "url": null,
                "label": "« 上一页",
                "active": false
            },
            {
                "url": "****,
                "label": "1",
                "active": true
            },
            {
                "url": "****",
                "label": "下一页 »",
                "active": false
            }
        ],
        "next_page_url": "***",
        "path": "****",
        "per_page": "1",
        "prev_page_url": null,
        "to": 9,
        "total": 9,
        "custom_field": 3
}

实际—-
直接toArray()变成数组追加🤣

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

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!