【发布时间】:2017-06-05 18:31:36
【问题描述】:
我正在尝试向 Laravel 5.3 用户身份验证添加自定义字段“角色”。该角色将确定用户是否是其他角色中的管理员,因此由于 Auth 脚手架使用大量可分配属性,因此存在漏洞。
因此我将我的用户模型更改为:
protected $guarded = [
'role'
];
RegisterController 我已经添加了我的自定义字段(默认用户将具有角色 = 客户);
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'facebook_id' => $data['facebook_id'],
'linkedin_id' => $data['linkedin_id'],
'avatar' => $data['avatar'],
'token' => $data['token'],
'role' => 'customer',
我收到此错误消息:
SQLSTATE[HY000]:一般错误:1364 字段“角色”没有默认>值(SQL:插入
users(name,password,>facebook_id,linkedin_id、avatar、token、updated_at、>created_at) 值(名称、name@domain.co.uk、散列密码、、、、、>2017-01-20 17:21: 16, 2017-01-20 17:21:16))
我这辈子都想不通。
我在想也许我不使用批量可分配输入,但我有一种感觉可能会弄乱 Auth 脚手架的其余部分。
感谢您的帮助
【问题讨论】:
标签: laravel-5