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