微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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'];

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐