从laravel文档中我们知道,我们可以通过应用过滤器从数据库中检索后过滤Eloquent集合:
$users = $users->filter(function($user)
{
return $user->isAdmin();
});
有没有人知道我们是否可以通过不是主键的唯一列/属性来过滤集合?
已编辑:说我有一个列slug
,我想根据不同的slug
值过滤该集合,并在此过程中删除重复项。
答案 0 :(得分:0)
我知道这已经很老了,但是您可以尝试以下方法:
$existingSlugs = [];
$users = $users->filter(function($user) use (&$existingSlugs)
{
$duplicate = in_array($user->slug, $existingSlugs);
if(!$duplicate) {
$existingSlugs[] = $user->slug;
}
return !$duplicate;
});