Laravel 5.3 开始,在 collection 层面也开始支持使用 where 方法,对于一些应用场景非常的适用:
比如在没有 where 方法的使用,我们可能会使用 filter 方法来达到一定的目的:
$vips = $users->filter(function ($user) {
return $user->role === 'vip';
});
但是在 5.3 中,你可以直接这样使用:
$vips = $users->where('role', 'vip');
Nice and clean !
更甚至的是,你还可以传入比较符号,如 >
, <
等:
$members = $users->where('role', '!==', 'vip');
$expert = $users->where('experience', '>', 500);
where 方法无疑是为 collection 添加了更方便的过滤和查找方法,希望大家在这样的场景之下可以用起来。