2017-08-24 144 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)添加。