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

标签 php mysql laravel laravel-5.2

我正在使用 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/

相关文章:

Mysql 选择在给定日期范围内多次出现的项目

php - 如何自动运行php命令行?

php - 如何在 Laravel 队列中使用模型

php - 按添加年份对所有每月收入组进行排序

MySQL 使用选择、别名列名创建表

php - UPDATE 查询有问题

javascript - 如何将我的 ajax 帖子连接到 php 和 mysql?

php - 从工作时间的开始日期计算结束日期 (SLA)

php - PHP 中的 Base64 编码不适用于 '&' 和 '#' ?

php - 在字符串中执行 WordPress 简码