Laravel Eloquent 模型关系与关系中的条件

Laravel 爱好者们大家好,

我有用户、角色Roles_User

角色id,role_name

角色_用户:id、、role_iduser_id

在我的控制器中我有这个

$users = User::all();
return view('admin.users.index', compact('users'));

如何在我的视图中显示角色名称为“admin”或“member”的所有用户

请帮助我构建我的模型和视图。


30秒到达战场
浏览 105回答 1
1回答

POPMUISE

您需要构建自己的视图。至于查询,很简单:$users = User::query()              ->join('role_user', 'role_user.user_id', '=', 'users.id')              ->join('roles', 'roles.id', '=', 'role_user.role_id')              ->whereIn('roles.role_name', ['admin', 'member'])              ->get(); 如果您在模型中设置了关系,则可以执行以下操作:$users = User::whereHas('roles', function ($query) {             $query->whereIn('role_name', ['admin', 'member']);         })->get();
打开App,查看更多内容
随时随地看视频慕课网APP