一.数据集合
- 数据集合,就是已经将模型方法 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();