1. 数据集合,就是已经将模型方法 get()获取到的数据再进行处理;
2. 比如:map()方法,通过它可以实现类似访问器一样对字段进行处理的效果;
$users = User ::get();
//使用集合方法 map 可以对输出的字段进行过滤
$women = $users->map(function ($user) {
$user->email = strtoupper($user->email);
return $user;
});
return [$women];
PS:数据集合支持连缀操作,和数据库连缀一样;
3. 使用 reject()方法,可以获取条件之外的数据内容;
$women = $users->reject(function ($user) {
return $user->gender != '女';
})->map(function ($user) {
return $user;
});
4. 下面列出常用的集合方法列表:
//判断集合中是否包含指定的模型实例
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();