php – 如何在Laravel 5.2中注册期间为每个新用户将文本写入一个数据库列?

我正在使用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'];

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...