我使用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' => 'contributor',
之外的所有内容都会被添加。
什么是正确的写作方式"贡献者" user_role列中每个新用户的值是什么?
它是否工作,因为该函数只设置了$ data数组?
答案 0 :(得分:4)
您是否在用户模型上向user_role
数组添加了$fillable
?
如果不是,则需要添加
示例
protected $fillable = ['name', 'email', 'password', 'user_role'];