Eloquent:让所有共享一个或多个用户组的用户

时间:2016-06-17 16:02:33

标签: eloquent laravel-5.2

如何让所有用户共享某个用户的一个或多个组?

我已经在中间表group_user ...

的用户和组之间建立了多对多关系

我想过使用类似伪代码的东西:

$users = User::with('groups')->whereIn('groups', $current_user->groups->all())->all();

我是否需要以某种方式使用hasManyThrough

1 个答案:

答案 0 :(得分:2)

假设group_user表具有主键id,则下面的内容可能会起作用。

$users = User::whereHas('groups', function ($q) use ($current_user) {
    $q->whereIn('id', $current_user->groups->pluck('id')->all()); 
})->get();