创建集合:
collect 辅助函数会利用传入的数组生成一个新的 IlluminateSupportCollection 实例。
$collection = collect([1, 2, 3]);
默认Eloquent模型的集合总是以 Collection 实例返回;你可以随意的在你应用程序中使用
Collection 类(Laravel集合基类)
IlluminateSupportCollection 类提供一个流畅、便利的封装来操控数组数据,Collection 类支持链式调用,一般来说,每一个 Collection 方法会返回一个全新的 Collection 实例,让你保留原版的集合以备不时之需,你可以放心地进行链接调用。
Eloquent模型的集合
默认情况下 Eloquent 返回的都是一个 IlluminateDatabaseEloquentCollection 对象的实例,包含通过 get 方法或是访问一个关联来获取到的结果。
Eloquent 集合对象继承了 Laravel集合基类,因此它自然也继承了许多可用于与 Eloquent 模型交互的方法。
当然,所有集合都可以作为迭代器,来让你像遍历一个 PHP 数组一样来遍历一个集合:
$users = AppUser::where('active', 1)->get(); foreach ($users as $user) { echo $user->name; }
感受下集合的方法,是不是很熟悉,官方文档有非常多的操作方法,大大方便了我们的操作
返回该集合所代表的底层 数组:
collect([1, 2, 3])->all();
// [1, 2, 3]
返回集合中所有项目的平均值:
collect([1, 2, 3, 4, 5])->avg();
// 3
返回该集合内的项目总数:
collect([1, 2, 3, 4])->count();
//4