如何在控制器中获取用户角色数据并显示 laravel
Posted
技术标签:
【中文标题】如何在控制器中获取用户角色数据并显示 laravel【英文标题】:How to I get user role data in controller and displaying laravel 【发布时间】:2019-01-25 06:52:00 【问题描述】:如何在视图页面中通过下拉显示?
用户模型:
public function registrationRoles()
return [
3=>'Teacher',
4=>'Student'
];
我的查看页面
<select class="select" name="role_id" id="all-categories">
<option value="">Select One</option>
<option value="">Teacher</option>
<option value="">Student</option>
</select>
注册控制器
public function postRegister(Request $request)
$this->validate($request, [
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required|email|unique:users',
'phone' => 'required|numeric',
'password' => 'required|min:6|confirmed'
]);
$data = new User;
$data->first_name = $request->first_name;
$data->last_name = $request->last_name;
$data->email = $request->email;
$data->phone = $request->phone;
$data->password = bcrypt($request->password);
// $data->role_id = 0;
$data->save();
Session::flash('success', 'Waiting for admin approval');
return redirect('/register');
.................................................. ..................................................... ..................................................... ......
【问题讨论】:
【参考方案1】:您可以从在 html 中硬编码它们开始
<select class="select" name="role_id" id="all-categories">
<option value="">Select One</option>
<option value="0">Teacher</option>
<option value="1">Student</option>
</select>
在你的控制器中
public function postRegister(Request $request)
$this->validate($request, [
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required|email|unique:users',
'phone' => 'required|numeric',
'password' => 'required|min:6|confirmed'
]);
$data = new User;
$data->first_name = $request->first_name;
$data->last_name = $request->last_name;
$data->email = $request->email;
$data->phone = $request->phone;
$data->password = bcrypt($request->password);
$data->role_id = $request->role_id;
$data->save();
Session::flash('success', 'Waiting for admin approval');
return redirect('/register');
或者,如果您在视图中返回角色,您可以使用角色填充下拉列表 喜欢
$roles = Roles::all();
return view('yourView', compact('roles));
在你的刀片中
<select class="select" name="role_id" id="all-categories">
@foreach($roles as $role)
<option value=" $role->id "> $role->name </option>
@endforeach
</select>
【讨论】:
【参考方案2】:如果你使用刀片:-
你可以在这里找到必要的阅读资料https://laravel.com/docs/4.2/html#drop-down-lists
!! Form::select('role_id', <here you have to place returned value from registrationRoles>) !!
【讨论】:
laravel 4.2 多年不支持,html/form builder 甚至不再是 laravel 的一部分,OP 至少使用 5.0以上是关于如何在控制器中获取用户角色数据并显示 laravel的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5 new auth:获取当前用户以及如何实现角色?