2017-08-24 93 views
0

您将如何去添加自定义字段到laravel身份验证注册过程。我想检查他们来自哪个国家。我将它添加到注册控制器,但我不知道如何将数组传递到视图。当我将它添加到控制器时,它会引发错误。任何建议都会很棒。laravel将表单数据添加到身份验证注册

+0

嗨,欢迎来到Stack Overflow。请阅读[问] – Mick

回答

0

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

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

接下来,你需要将它添加到$fillable数组中User.php这个样子,因此所提供的价值将被保存。

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

那么你应该在RegisterController像这样把它添加到创建功能。这将连接用户提供的值将被保存的新用户对象。

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)添加。