Search code examples
laraveluser-roles

How to I get user role data in controller and displaying laravel


How do I display by dropdown in view page?

User model:

public function registrationRoles(){
    return [
       3=>'Teacher',
       4=>'Student'
    ];
}

My view page

<select class="select" name="role_id" id="all-categories">
    <option value="">Select One</option>
    <option value="">Teacher</option>
    <option value="">Student</option>
</select>

RegisterController

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');
}

..............................................................................................................................................................


Solution

  • If you are using blade:-

    You can find the necessary readings here https://laravel.com/docs/4.2/html#drop-down-lists

    {!! Form::select('role_id', <here you have to place returned value from registrationRoles>) !!}