如何拆分Laravel分页器结果实现3+3+2+2的自定义布局展示?
解决Laravel分页器结果自定义拆分问题
你的问题出在直接对分页器对象调用集合方法,paginate()返回的是LengthAwarePaginator实例而非集合,所以take()、chunk()这些方法不会按预期工作。正确做法是先取出当前页的数据集,再进行拆分。
步骤1:获取当前页的数据集
在视图中先从分页器里拿到当前页的条目集合:
$items = $properties->items();
步骤2:按布局需求拆分集合
用集合的slice()方法按位置截取,适配2行3个、2行2个的布局:
第一行(3个条目)
@foreach($items->slice(0, 3) as $property) <!-- 渲染单个条目 --> @endforeach
第二行(3个条目)
@foreach($items->slice(3, 3) as $property) <!-- 渲染单个条目 --> @endforeach
第三行(2个条目)
@foreach($items->slice(6, 2) as $property) <!-- 渲染单个条目 --> @endforeach
第四行(2个条目)
@foreach($items->slice(8, 2) as $property) <!-- 渲染单个条目 --> @endforeach
保留分页功能
分页链接部分依然正常使用分页器对象输出:
{{ $properties->links() }}
这样就能完美适配你的自定义布局,同时保留Laravel分页的所有功能。
内容的提问来源于stack exchange,提问作者Akhilesh
相关产品推荐
相关产品推荐

