类(Laravel集合基类)
IlluminateSupportCollection 类提供一个流畅、便利的封装来操控数组数据,官方提供了很多辅助函数,方便对数据进行各种处理,Collection 类还支持链式调用。
一般来说,每一个 Collection 方法会返回一个全新的 Collection 实例,让你保留原版的集合以备不时之需,你可以放心地进行链接调用。
Eloquent:集合
默认情况下 Eloquent 返回的都是一个 IlluminateDatabaseEloquentCollection 对象的实例。Eloquent 集合对象继承了 Laravel集合基类,他们也继承了所有集合类提供的强大的方法,比如all,get等等,我们可以使用这些方法来处理Eloquent结果,当然最常用的就是像遍历一个 PHP 数组一样来遍历一个集合:
$users = AppUser::where('active', 1)->get(); foreach ($users as $user) { echo $user->name; }
集合提供了非常多的操作方法,这能大大方便我们的操作,比如下面的例子
1> 返回该集合所代表的底层 数组:
collect([1, 2, 3])->all(); // [1, 2, 3]
2> 返回集合中所有项目的平均值:
collect([1, 2, 3, 4, 5])->avg(); // 3
3> 返回该集合内的项目总数:
collect([1, 2, 3, 4])->count();
//4
官方文档有更多的实例,地址如下:http://d.laravel-china.org/docs/5.2/collections
创建集合:
collect 辅助函数会利用传入的数组生成一个新的 IlluminateSupportCollection 实例。
$collection = collect([1, 2, 3]);
默认Eloquent模型的集合总是以 Collection 实例返回;你可以随意的在你应用程序中使用 Collection