Laravel 9如何按type_id字段拆分Cleanings集合?
按type_id拆分Cleanings集合的实现方法
直接使用Laravel集合内置的groupBy()方法就能完成需求,这是专门用于按指定字段分组集合的工具方法:
// 你的原始查询代码 $cleanings = Cleaning::with(['property'])->get(); // 按type_id字段分组,得到分组后的集合 $groupedCleanings = $cleanings->groupBy('type_id');
说明
groupBy('type_id')会返回一个新集合,其中每个键对应type_id的取值,键对应的value就是该type_id下所有Cleaning记录的子集合- 可以通过键值直接访问对应分组的集合,比如:
// 获取type_id为2的Cleanings集合 $specificTypeCleanings = $groupedCleanings->get(2); - 如果需要转为普通数组格式,调用
toArray()即可:$groupedArray = $groupedCleanings->toArray(); - 预加载的
property关联数据会保留在每个子集合的元素中,不会因为分组丢失
内容的提问来源于stack exchange,提问作者Phyron
相关产品推荐
相关产品推荐

