2017-01-27 6 views
0

私は登録フォームに新しいフィールドをいくつか追加しています。すべての既定のフィールドは、カスタムフィールド以外のデータベースに格納されます。laravelにカスタム登録フィールドを保存する方法は?

protected function validator(array $data) 
{ 
    return Validator::make($data, [ 
     'name' => 'required|max:255', 
     'email' => 'required|email|max:255|unique:users', 
     'password' => 'required|min:6|confirmed', 
     'company_name' => 'required', 
    ]); 
} 

protected function create(array $data) 
{ 
     $user = User::create([ 
      'name' => $data['name'], 
      'email' => $data['email'], 
      'password' => bcrypt($data['password']), 
      'company_name' => $data['company_name'], 
      'role' => 'client', 
     ]); 


     return $user; 
} 

は、ここで保存されません、私のフォーム

<form action="/register" method = "post" id = "reg_form"> 
           {{csrf_field()}} 
    <div class="form-group"> 
    <input type="text" name="name" id="name" placeholder="Name"/> 
    </div> 

    <div class="form-group"> 
    <input type="email" name="email" id="email" placeholder="Email"/> 
    </div> 

    <div class="form-group"> 
    <input type="text" name="company_name" id="email" placeholder="Name of your Company"/> 
    </div> 

    <div class="form-group"> 
    <input type="password" name="password" id="pass" placeholder="Password"/> 
    </div> 

    <div class="form-group"> 
    <input type="password" name="password_confirmation" id="re_pass" placeholder="Re enter password"/> 
    </div> 

    <div class="form-group"> 
    <input type="submit" class="btn" id="register_sbt_btn" value="Register"/> 
    </div> 

    </div> 
    </form> 
company_name

roleです。私は新しいユーザが登録するたびにrole => clientにデフォルト値を与えています。

答えて

3

Userモデルも

protected $fillable = [ 
    'name', 
    'email', 
    'password', 
    'company_name', //<--- HERE 
    'role', //<--- HERE 
]; 

あなたはUsersテーブルの上にそれらのフィールドを持っていることを確認しての$fillable属性にフィールドを追加することを忘れないでください

関連する問題