Laravel选择元素中的元素不插入值

时间:2016-12-28 19:04:33

标签: laravel

我修改了寄存器控制器和用户表,使其具有角色属性作为字符串:

Schema::table('users', function (Blueprint $table) {
        $table->string('role')->nullable()->index();
    });

我在config文件夹中创建了一个enums.php,如下所示:

return [
'role_types' => [
    'ADMIN' => "Admin",
    'TEACHER' => "Teacher",
    'STUDENT' => "Student",
]];

在注册用户视图上(默认情况下是脚手架,带有bootstrap) 我做了选择框以适应选择:

<select class="form-control" id="role" name='role'>
           @foreach (Config::get('enums.role_types') as $role)
                    <option value="{{ $role }}">{{$role}}</option>
           @endforeach
</select>

但注册用户时,值为NULL ..我做错了什么?

1 个答案:

答案 0 :(得分:2)

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

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

Laravel不允许您使用无法信任的数据来批量分配行。查看文档:{​​{3}}