我修改了寄存器控制器和用户表,使其具有角色属性作为字符串:
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 ..我做错了什么?
答案 0 :(得分:2)
使用Model::create()
时,您必须设置模型的可填充数组:
protected $fillable = [
'email',
'name',
'role',
...
];
Laravel不允许您使用无法信任的数据来批量分配行。查看文档:{{3}}