【问题标题】:How to I get user role data in controller and displaying laravel如何在控制器中获取用户角色数据并显示 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');
}

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

【问题讨论】:

    标签: laravel user-roles


    【解决方案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
      猜你喜欢
      • 2015-09-03
      • 1970-01-01
      • 2017-08-30
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多