You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel分页:如何接收前端传入的page参数实现分页

解决Laravel分页中page参数的接入问题

嘿,这问题其实很好搞定!首先得提醒你一个小细节:你的控制器方法里没注入Request实例,这样$request->paginator其实是会报错的(可能你实际代码里有,但贴出来的时候漏了?)。接下来咱们把page参数也顺畅整合进去:

Laravel的paginate()方法支持四个参数,顺序是:

  • 每页条数(perPage)
  • 要查询的字段(columns,默认是['*'])
  • 页码参数的名称(pageName,默认是page)
  • 当前页码(page)

给你修改好的控制器代码,带注释更清晰:

use Illuminate\Http\Request;

class UserController extends Controller{
    public function index(Request $request){
        // 从请求中取参数,同时设置默认值,防止前端没传参时接口报错
        $perPage = $request->input('paginator', 10);
        $currentPage = $request->input('page', 1);
        
        // 调用paginate,明确指定每页条数和当前页码
        return User::paginate($perPage, ['*'], 'page', $currentPage);
    }
}

甚至还能更简单——因为你的页码参数名刚好是Laravel默认的page,所以只要正确注入Request,直接传每页条数就会自动识别page参数:

use Illuminate\Http\Request;

class UserController extends Controller{
    public function index(Request $request){
        $perPage = $request->input('paginator', 10);
        return User::paginate($perPage);
    }
}

这时候Laravel会自动从请求里读取page参数来确定当前页码,是不是超省心?另外给参数加默认值的操作很重要,能避免前端漏传参数时接口直接崩掉。

内容的提问来源于stack exchange,提问作者Geoff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:22:24