Laravel中使用has关联查询时结合paginate实现分页的相关问题
Laravel 关联查询分页实现方案
在Laravel项目开发中,若需要筛选出存在指定关联关系的模型数据并同时实现分页效果,可直接通过has()方法结合paginate()方法实现,完整实现代码如下:
控制器查询代码
// 筛选存在classe关联的课程分类,每页返回2条分类数据 $categories = Course_category::has('classe')->paginate(2);
视图层遍历与分页渲染代码
@foreach ($categories as $categorie) @foreach ($categorie->classe as $item) {{-- 此处编写单条关联classe数据的展示逻辑 --}} @endforeach @endforeach {{-- 渲染Bootstrap4风格的分页导航栏 --}} {{ $categories->links('pagination::bootstrap-4') }}
注意事项
- 需提前在
Course_category模型中正确定义classe关联方法,否则has()方法无法正常工作 paginate(2)中的数字代表每页展示的课程分类条数,可根据业务需求自行调整- 若项目使用其他前端框架,可替换
links()方法中的分页模板参数,Laravel默认支持bootstrap5、tailwind等多种分页样式
内容的提问来源于stack exchange,提问作者moussa
相关产品推荐
相关产品推荐

