从laravel文档中我们知道,在从数据库检索后,我们可以通过应用过滤器来过滤Eloquent集合:
$users = $users->filter(function($user)
{
return $user->isAdmin();
});
有人知道我们是否可以通过一个不是主键的唯一列/属性来过滤集合吗?
已编辑:假设我有一列slug
,并且我希望根据不同的slug
值筛选集合,并在此过程中删除重复项。
我知道这是旧的,但你可以尝试这样的东西:
$existingSlugs = [];
$users = $users->filter(function($user) use (&$existingSlugs)
{
$duplicate = in_array($user->slug, $existingSlugs);
if(!$duplicate) {
$existingSlugs[] = $user->slug;
}
return !$duplicate;
});