Laravel Collections 是封装数组的链式操作对象,支持从数组、Eloquent 结果等创建,提供 filter、map、groupBy、avg 等丰富方法,返回新实例,不可变且语义化强。

在 Laravel 中,Collections 是处理数组数据的利器,它把普通 PHP 数组包装成拥有丰富链式方法的对象,让过滤、映射、分组、排序等操作变得简洁又可读。
基础创建与转换
Collection 可以从数组、Eloquent 查询结果或其它可遍历结构创建。最常用的是 collect() 辅助函数:
collect([1, 2, 3, 4])->map(fn($n) => $n * 2); // [2, 4, 6, 8]- Eloquent 查询默认返回 Collection:
User::where('active', 1)->get(),直接支持链式调用 - 从 JSON 或请求数据快速构建:
collect(request()->input('tags', []))
常用筛选与条件处理
用 filter()、where()、first() 等方法替代手动 foreach:
-
$users->where('status', 'active')->where('score', '>', 80)—— 多字段精确匹配 -
$users->filter(fn($user) => $user->posts->count() > 5)—— 支持闭包复杂逻辑 -
$users->firstWhere('email', 'like', '%@gmail.com')—— 模糊查找首个匹配项
变换与结构重组
用 map()、pluck()、groupBy() 快速重构数据形态:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~