Laravel选择表单中的元素,不插入值

Laravel选择表单中的元素,不插入值,laravel,Laravel,我修改了register controller和user表,使其具有作为字符串的角色属性: Schema::table('users', function (Blueprint $table) { $table->string('role')->nullable()->index(); }); 我在config文件夹中创建了一个enums.php,如下所示: return [ 'role_types' => [ 'ADMIN' =>

我修改了register controller和user表,使其具有作为字符串的角色属性:

Schema::table('users', function (Blueprint $table) {
        $table->string('role')->nullable()->index();
    });
我在config文件夹中创建了一个enums.php,如下所示:

return [
'role_types' => [
    'ADMIN' => "Admin",
    'TEACHER' => "Teacher",
    'STUDENT' => "Student",
]];
在注册用户视图上,默认情况下,该视图是带引导的脚手架 我创建了“选择框”以适应选择:

<select class="form-control" id="role" name='role'>
           @foreach (Config::get('enums.role_types') as $role)
                    <option value="{{ $role }}">{{$role}}</option>
           @endforeach
</select>
但在注册用户时,该值为空。。我做错了什么?

使用Model::create时,必须设置模型的可填充数组:

protected $fillable = [
    'email',
    'name',
    'role',
    ...
];

Laravel不允许使用无法信任的数据批量分配行。检查文档:

检查表单提交请求,ddrequest;请求;在寄存器控制器的create方法上,返回以下内容:request:ParameterBag{41▼ 参数:数组:6[▼ _令牌=>OwStAMhDtUAOf5JS76mry2lVVA7Q0G5IE6et20EU名称=>教师电子邮件=>123@qwe.com角色=>Teacher password=>123456 password\u confirmation=>123456]存在角色=>Teacher。您是如何保存到数据库中的?受保护的函数createarray$data{ddrequest;return User::create['name'=>$data['name'],'email'=>$data['email'],'role'=>$data['role'],'password'=>bcrypt$data['password'],];}上面设置的控制器和表属性。非常感谢。我已经完全忘记了模型中的可填充数组。这很有效。