2017-08-24 21 views
0

laravel認証登録プロセスにカスタムフィールドを追加する方法を教えてください。彼らの出身国を確認したいと思います。私はそれをレジスタコントローラに追加しようとしていましたが、配列をビューに渡す方法がわかりません。それをコントローラに追加すると、スローアップとエラーが発生します。どんな助言も素晴らしいだろう。laravelフォームのデータを認証登録に追加

+0

こんにちは、スタックオーバーフローへようこそ。 [ask]をお読みください – Mick

答えて

0

まず、この情報を格納するためにユーザーテーブルに列を追加する必要があります。これを移行で行うことができます。このようなものをup()機能に入れてください。

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

次は提供された値が保存されるように、このようUser.php$fillable配列に追加する必要があります。

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中)バリ機能でそれを追加する必要があります。

関連する問題