
Laravel 自带的分页器可自动生成带查询参数的分页链接,只需在 Blade 模板中调用 {{ $users->links() }} 即可渲染标准、可点击的分页导航,点击“下一页”会自动跳转并显示对应数据。
laravel 自带的分页器可自动生成带查询参数的分页链接,只需在 blade 模板中调用 `{{ $users->links() }}` 即可渲染标准、可点击的分页导航,点击“下一页”会自动跳转并显示对应数据。
在 Laravel 中实现分页功能非常简洁高效。你已在控制器中正确使用了 simplePaginate(3)——它会返回一个 LengthAwarePaginator 实例(注意:simplePaginate() 返回的是 Paginator,不包含总页数,但性能更优;若需完整分页信息,可用 paginate(3)),并预加载了关联模型。接下来只需在 Blade 视图中插入 Laravel 内置的分页渲染指令:
<!-- 在你的用户列表下方(或任意合适位置) -->
{{ $users->links('pagination::bootstrap-5') }}✅ 说明:
-
{{ $users->links() }}会自动根据当前请求 URL(如/villas?page=2)生成带?page=N参数的分页链接; - 默认使用 Bootstrap 5 样式(Laravel 9+),如需其他样式,可指定视图:
'pagination::tailwind'或'pagination::bootstrap-4'; - 点击“下一页”时,浏览器将发起新 GET 请求(例如
/villas?page=2),Laravel 会自动从$_GET['page']读取页码,并返回第 2 页的 3 条Villa数据。
⚠️ 注意事项:
- 确保路由定义为
GET(如Route::get('/villas', [VillaController::class, 'index']);),因为分页依赖 URL 查询参数; - 若使用
simplePaginate(),则->links()仍完全兼容,但不会显示“共 X 页”等统计信息(适合大数据量场景); - 不要手动写死
<li><a href="">2</a></li>等静态 HTML —— 这会导致链接无实际跳转逻辑,且无法响应真实页码状态(如禁用最后一页、高亮当前页等)。
? 进阶提示:
如需自定义分页 URL(例如添加额外参数),可链式调用:
{{ $users->withQueryString()->links() }}这会保留当前查询字符串(如 ?search=beach),确保翻页后搜索条件不丢失。
至此,无需任何 JavaScript 或额外路由配置,Laravel 原生分页即可开箱即用,安全、语义化且完全符合 RESTful 设计原则。


















