我正在使用Laravel 5.2 Auth功能,注册工作正常.
现在我需要在注册期间在users表的特殊列中写一个字符串.它不是来自HTML表单输入的值.它是描述用户角色(贡献者)的静态文本.注册的所有用户都应在user_role列中收到“贡献者”值.
我尝试通过将此行添加到AuthController.PHP来实现此目的:
'user_role' => 'contributor',
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
return User::create([
'first_name' => $data['first_name'],
'last_name' => $data['last_name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'user_role' => 'contributor',
]);
}
当我尝试注册新帐户时,除了’user_role’=>之外的所有内容’贡献者’,得到补充.
将每个新用户的“贡献者”值写入user_role列的正确方法是什么?
它不起作用,因为该函数只设置了$data数组?
解决方法:
您是否在User模型上将user_role添加到$fillable数组?
如果没有,你需要添加它
例
protected $fillable = ['name', 'email', 'password', 'user_role'];