我正在使用 Laravel 5.2 身份验证功能并且注册工作正常。
现在我需要在注册期间在用户表的特殊列中写入一个字符串。它不是来自 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 数组吗?
最佳答案
您是否将 user_role
添加到 User 模型的 $fillable
数组中?
如果没有则需要添加
例子
protected $fillable = ['name', 'email', 'password', 'user_role'];
关于php - 如何在 Laravel 5.2 注册期间为每个新用户将文本写入一个数据库列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39146804/