2016-08-25 6 views
4

私はLaravel 5.2 Auth機能を使用しており、登録は正常に機能しています。

これで、登録時にユーザーテーブルの特別な列に文字列を書き込む必要がありました。これは、HTMLフォーム入力からの値ではありません。ユーザーロール(投稿者)を記述する静的テキストです。登録するすべてのユーザーは、user_role列に「コントリビュータ」値を受け取る必要があります。 私はAuthController.phpに次の行を追加することでこれを実現しようとした:
Laravel 5.2に登録する際に、新規ユーザーごとに1つのデータベース列にテキストを書き込む方法は?

'user_role' => 'contributor', 

データベースに値を追加する関数全体は次のようになります。私は、新しいアカウントを登録しようとすると

/** 
    * Create a new user instance after a valid registration. 
    * 
    * @param array $data 
    * @return User 
    */ 
    protected function create(array $data) 
    { 
     return User::create([ 
      'first_name' => $data['first_name'], 
      'last_name' => $data['last_name'], 
      'email' => $data['email'], 
      'password' => bcrypt($data['password']), 
      'user_role' => 'contributor', 
     ]); 
    } 

'user_role' => 'contributor',を除くすべてが追加されます。
user_role列に新規ユーザーごとに「コントリビュータ」値を書き込む適切な方法は何ですか?
その関数は$ data配列しか設定されていないため、機能しませんか?

+0

可能な重複[Laravel /雄弁モデルのデフォルトの属性値を設定する方法?](http://stackoverflow.com/質問/ 18747500 /デフォルト設定の属性値 - 評価基準 - 値引きモデル) – aynber

+0

この問題は、あなたが提供したものとはまったく異なります。それはLaravelの別の部分から来たものです。 – encrypted21

答えて

3

ユーザモデルにuser_role$fillableアレイを追加しましたか?

あなたはそれ

に例を追加する必要はありませ場合

protected $fillable = ['name', 'email', 'password', 'user_role']; 
+0

ありがとう!出来た! – encrypted21

+0

@ encrypted21よろしくお願いします。 –

+0

@skysplitを編集してくれてありがとう –

関連する問題