laravel将表单数据添加到auth注册

时间:2017-08-24 23:46:07

标签: laravel authentication

您如何将自定义字段添加到laravel身份验证注册过程中。我想查看他们来自哪个国家/地区。我打算将它添加到注册控制器,但我不确定如何将数组传递给视图。当我把它添加到控制器时,它会抛出并出错。任何建议都会很棒。

1 个答案:

答案 0 :(得分:1)

首先,您需要在users表中添加一列来存储此信息。您可以通过迁移执行此操作。把这样的东西放到up()函数中。

Schema::table('users', function (Blueprint $table) {
    $table->string('country');
});

接下来,您需要将其添加到$fillable这样的User.php数组中,以便保存提供的值。

protected $fillable = [
    'name', 'email', 'password', 'country'
];

然后你应该将它添加到RegisterController中的create函数中。这将连接用户提供的值与将要保存的新User对象。

protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
        'country' => $data['country'],
    ]);
}

您还需要将其添加到register.blade.php,以便用户可以提供信息。

<label for="countryInput" class="col-md-4 control-label">Country</label>
<input id="countryInput" type="text" class="form-control" name="country">

最后,如果要验证此字段,则应将其添加到验证器函数中(在RegisterController中)。