2016-06-17 2 views
0

특정 사용자의 하나 이상의 그룹을 공유하는 모든 사용자를 어떻게 얻을 수 있습니까?Eloquent : 하나 이상의 사용자 그룹을 공유하는 모든 사용자를 얻으십시오.

이미 중간 테이블 GROUP_USER와 사용자 및 그룹 간 다 대다 관계를

... 나는이 의사 코드 같은 것을 사용하여 생각했다

:

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

내가 사용해야합니까를 어떻게 든 hasManyThrough?

답변

2

테이블에 group_user 테이블에 기본 키 id이 있다고 가정하면 다음과 같이 동작 할 것입니다.

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

완벽! 그런 일을 찾기에는 너무 적은 경험이 있습니다. 감사 – intrixius

관련 문제