如何根據(jù)用戶的角色獲取用戶laravel?我有像“管理員”、“作者”、“編輯”這樣的角色,我想要一個動態(tài)的api端點。所以在我的api.php我有:Route::get('users/{role}', "Api\UserController@role");我的控制器看起來像這樣:public function show(){ $user_role = User::whereHas( 'roles', function ($q) { $q->where('name', 'admin'); } )->get(); return $user_role;}到目前為止,這工作正常,但我希望端點是動態(tài)的,就像如果希望我的所有編輯器用戶都應(yīng)該是端點api/users/editors等等。我怎樣才能做到這一點?
2 回答

哆啦的時光機
TA貢獻1779條經(jīng)驗 獲得超6個贊
public function show($role) //example: $role = 'admin'
{
return User::whereHas('roles', function ($q) use ($role) {
$q->where('name', $role);
})->get();
}

千巷貓影
TA貢獻1829條經(jīng)驗 獲得超7個贊
您的控制器功能應(yīng)如下所示:
public function show(Role $role)
{
$users = $role->users;
return $users;
}
你的 Role Eloquent 模型應(yīng)該有這些方法:
public function users()
{
return $this->belongsToMany(User::class, 'user_role')
}
public function getRouteKeyName()
{
return 'name';
}
- 2 回答
- 0 關(guān)注
- 208 瀏覽
添加回答
舉報
0/150
提交
取消