users
id
roles
id
name
user_roles
user_id
role_id
特定の役割を持つすべてのユーザーにクエリを実行したいと思います。例: だから、ロール「管理者」を持つすべてのユーザーeloquent id in in many to many
users
id
roles
id
name
user_roles
user_id
role_id
特定の役割を持つすべてのユーザーにクエリを実行したいと思います。例: だから、ロール「管理者」を持つすべてのユーザーeloquent id in in many to many
を取得し、あなたは
$users = User::whereHas('roles', function($query) {
$query->where('name', 'admin');
})->get();
雄弁
から
whereHasを使用することができますが、役割のIDを知っている場合は、参照のためにここに
https://laravel.com/docs/5.5/eloquent-relationships
を参照してください、次の操作を行います。あなたが唯一の名前や役割のタイトルを知っている場合
User::whereHas('roles', function ($q) use($roleId) {
$q->where('id', $roleId);
})
->get();
、次の操作を行います。
User::whereHas('roles', function ($q) use($roleTitle) {
$q->where('title', $roleTitle);
})
->get();
他の方向からの関係で行くためのオプションもあります。
Role::where('name', 'admin')->firstOrFail()->users;
は、別のクエリの一部としてこれを行う方法があります: 例えばComment :: where( 'user' ...ロール管理者のユーザーですか? – Chris
私はあなたの質問をよく理解していません。 – lagbox