一.数据集合
数据集合,就是已经将模型方法 get()获取到的数据再进行处理;比如:map()方法,通过它可以实现类似访问器一样对字段进行处理的效果;$users = User::get();
//使用集合方法 map 可以对输出的字段进行过滤 $women = $users->map(function ($user) {$user->email = strtoupper($user->email); return $user;}); return [$women];
PS:数据集合支持连缀操作,和数据库连缀一样;
使用 reject()方法,可以获取条件之外的数据内容;
$women = $users->reject(function ($user) {return $user->gender != '女'; })->map(function ($user) {return $user; });
下面列出常用的集合方法列表:
//判断集合中是否包含指定的模型实例
return $users->contains(19);
return $users->contains(User::find(19));
//返回不在集合中的所有模型
return $users->diff(User::whereIn('id', [19,20,21])->get());
//返回给定主键外的所有模型
return $users->except([19,20,21]);
//集合也有 find 方法
return $users->find(19);
//返回集合的数量
return $users->count();
//返回所有模型的主键
return $users->modelKeys();
//返回主键的所有模型
return $users->only([19,20,21]);
//返回集合中的唯一模型
return $users->unique();