Laravel 修改分页信息来源 dogify Laravel 2020-03-17 3088 次浏览 27 次点赞 # 简介 Laravel 默认的分页数据来源是url参数,而业务中需要从post参数中获取页码和页长信息。 假设我们有个新闻表,需要分页返回数据,代码如下 ``` return response()->json(News::paginate($pageSize)); ``` 页长信息由 `$pageSize` 变量传入,但是并没有传入页码信息。 # 实现 首先假定,表单参数 `page` 代表页码,`page_size` 代表页长。 在 `AppServiceProvider` 的 boot 方法中添加以下代码,即可从 post 参数中获取页码信息。 ``` namespace App\Providers; class AppServiceProvider extends ServiceProvider { // 省略无关代码 /** * Bootstrap any application services. * * @return void */ public function boot() { Paginator::currentPageResolver(function () { return intval(request()->page) ?: 1; }); } } ``` 本文由 dogify 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。 点赞 27
还不快抢沙发