2017-05-21 7 views
1

私はUserRolesにM-M関係を持っています。また、UserClinicに属します。特定のclinic_idを持つ1つのロールに属するすべてのユーザーを除外したいと思います。私はこの1つにしようとしていますが、それは動作しません:Laravelここでの関係

$user = Role::where('name', 'admin')->first() 
       ->users->where('clinic_id', Auth::user()->clinic_id)->get(); 

私はこの1つの

Type error: Too few arguments to function Illuminate\Support\Collection::get(), 0 passed in 

関係にエラーを取得しています細かい定義されている、と私はwith()をexclued場合、私は戻って、すべてを取得します管理者であるユーザー

答えて

1

ロールの関係名に基づいてrolesを変更します。

$clinic_id = auth()->user()->clinic_id; 

$users = User::whereHas('roles', function ($query) { 
    $query->where('name', 'admin'); 
})->where('clinic_id', $clinic_id)->get();