Laravel使用paginate分页却呈现simplePaginate效果的问题如何解决
Laravel paginate方法仅显示上下页无页码问题修复方案
常见原因及对应解决方法
总数据量不足触发极简分页逻辑
你代码中设置了每页显示3条数据,当products表总条数≤3时,总页数仅为1页,paginate方法默认不会渲染页码组件,仅会在总页数≥2时展示页码。可以先打印总条数确认:// 控制器中临时添加打印代码确认数据量 dd($product->total());确认数据量足够的情况下再排查其他问题。
Laravel 8+版本未指定分页UI模板
Laravel 8及后续版本默认分页视图适配Tailwind CSS,若你的项目使用Bootstrap,或者未正确引入Tailwind CSS,会导致分页组件样式异常、页码不显示,需要手动指定分页模板:- 打开
app/Providers/AppServiceProvider.php文件 - 在
boot方法中添加如下代码:
use Illuminate\Pagination\Paginator; public function boot() { Paginator::useBootstrap(); // 若使用Tailwind可不加该行,检查前端是否正确引入Tailwind CSS即可 }- 打开
分页实例被后续操作破坏
如果你在paginate()方法调用后,又对查询结果执行了get()、all()、filter()等会修改集合结构的操作,会丢失分页元数据,导致分页组件异常。确认你的查询逻辑中paginate()是链式调用的最后一个方法,不要在其后修改分页实例结构。视图缓存异常
若修改代码后效果未更新,执行如下命令清理缓存即可:php artisan view:clear php artisan cache:clear
内容的提问来源于stack exchange,提问作者firir
相关产品推荐
相关产品推荐

