Laravel-如何指定要显示的用户角色
我正在使用Laravel-5.8作为后端开发一个Web应用程序。我结合了两个类:用户和角色 ApiController.phpLaravel-如何指定要显示的用户角色,laravel,api,Laravel,Api,我正在使用Laravel-5.8作为后端开发一个Web应用程序。我结合了两个类:用户和角色 ApiController.php public function store(Request $request) { if(!Auth::user()->hasPermissionTo('Add Users')) return response()->json([ "message" => 'User do not have permission'], 401)
public function store(Request $request)
{
if(!Auth::user()->hasPermissionTo('Add Users'))
return response()->json([ "message" => 'User do not have permission'], 401);
$request->validate([
'name' => 'required|string|min:2',
'email' => 'required|string|email|unique:users',
'password' => 'required|string|confirmed|min:6'
]);
$user = new User([
'name' => $request->name,
'email' => $request->email,
'password' => bcrypt($request->password),
'activation_token' => str_random(60),
'address' => $request->email,
'about' => $request->email,
]);
if($request->role)
foreach($request->role as $role)
$user->assignRole($role);
else {
return response()->json([
'error' => 'Role Not Found!'
], 401);
}
$user->school_id = Auth::user()->school_id;
if($request->address)
$user->address = $request->address;
if($request->about)
$user->about = $request->about;
$user->save();
$avatar = Avatar::create(strtoupper($user->name))->getImageObject()->encode('png');
Storage::put('avatars/'.$user->id.'/avatar.png', (string) $avatar);
$user->notify(new SignupActivate($user));
return response()->json([
'message' => 'Successfully Added New User!'
], 201);
}
根据上面的代码,我不想显示所有角色。我想使用foreach语句只选择和显示这两个角色:Admin和Staff。
也就是说,其中role_name=Admin,Staff
foreach($request->role as $role)
$user->assignRole($role);
我怎样才能做到这一点呢?我想你可以这样做
$filtered->all()
//[3,4]您想显示它们还是分配角色,请澄清此选项,以便我可以帮助您be@Matovu罗纳德-我想分配角色,但只应显示两个角色:管理员和工作人员。我不想分配所有的任务,我将在你应该做的事情上发布一个答案,很快给你几秒钟,我已经发布了答案
$collection = collect([1, 2, 3, 4]);
$filtered = $collection->filter(function ($value, $key) {
return $value > 2;
});