Laravel 8中Blade模板复制后Bootstrap分页页码不显示问题
问题原因
你只复制了Blade B的表格代码,遗漏了Blade B中表格下方负责渲染页码导航的代码。Laravel 分页功能不会自动输出页码栏,需要手动调用分页实例的links()方法渲染导航。
解决步骤
- 在Blade A的
</table>闭合标签下方,添加分页渲染代码:
{{ $items->links() }}
- 如果添加后还是不显示,依次排查以下问题:
- 确认Item表的总数据量大于10条:Laravel分页默认仅在总记录数超过每页显示条数时才会渲染导航栏
- 如果项目使用Bootstrap样式框架(你代码里用了
table table-bordered这类Bootstrap类),需要在app/Providers/AppServiceProvider.php的boot方法中指定分页使用Bootstrap样式,Laravel 8+默认使用Tailwind分页样式,没有对应样式类时会出现导航栏不显示的问题:
<?php namespace App\Providers; use Illuminate\Pagination\Paginator; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { public function register() { // } public function boot() { Paginator::useBootstrap(); } }
额外优化提示
你控制器A中传递的i参数计算规则是(page-1)*5,但你每页显示10条数据,如果后续需要用i做序号展示,建议修改为(request()->input('page', 1) - 1) * 10,避免序号计算错误。
内容的提问来源于stack exchange,提问作者hweiu321
相关产品推荐
相关产品推荐

