Laravel:检索后通过唯一列值过滤Eloquent Collections

时间:2014-11-10 07:39:28

标签: php database laravel eloquent

从laravel文档中我们知道,我们可以通过应用过滤器从数据库中检索后过滤Eloquent集合:

$users = $users->filter(function($user)
{
    return $user->isAdmin();
});

有没有人知道我们是否可以通过不是主键的唯一列/属性来过滤集合?

已编辑:说我有一个列slug,我想根据不同的slug值过滤该集合,并在此过程中删除重复项。

1 个答案:

答案 0 :(得分:0)

我知道这已经很老了,但是您可以尝试以下方法:

$existingSlugs = [];
$users = $users->filter(function($user) use (&$existingSlugs)
{
    $duplicate = in_array($user->slug, $existingSlugs);
    if(!$duplicate) {
        $existingSlugs[] = $user->slug;
    }
    return !$duplicate;
});