2016-12-28 2 views
1

を挿入していない私は、文字列としてrole属性を持っているレジスタコントローラおよびユーザ・テーブルを変更しました: (ブートストラップにデフォルトで足場れる)レジスタのユーザビュー 上Laravel select要素が値

return [ 
'role_types' => [ 
    'ADMIN' => "Admin", 
    'TEACHER' => "Teacher", 
    'STUDENT' => "Student", 
]]; 

私は選択に対応するために、選択ボックスを作っ:

<select class="form-control" id="role" name='role'> 
      @foreach (Config::get('enums.role_types') as $role) 
        <option value="{{ $role }}">{{$role}}</option> 
      @endforeach 
</select> 

しかし、ユーザーの登録時に、値はNULLです。何が間違っているのですか?

+0

フォーム提出のリクエストを確認してください。 'dd(request());' –

+0

dd(request());レジスタコントローラの作成方法について以下を返す: 要求:ParameterBag {#41▼ #パラメータ:配列:6 [▼ "_token" => "OwStAMhDtUAOf5JS76mry2lVVA7Q0G5IE6et20EU" "名" => "教師" 「電子メールを"=>" [email protected] " " role "=>"教師 " " password "=>" 123456 " " password_confirmation "=>" 123456 " – dioannou

+0

"ロール "=>"教師"。どのようにデータベースに保存しましたか? –

答えて

2

Model::create()を使用する場合は、あなたのモデルの充填可能な配列に設定する必要があります。

protected $fillable = [ 
    'email', 
    'name', 
    'role', 
    ... 
]; 

Laravelはあなたが質量それが信頼できないデータを使用して行を割り当てることはできませんが。ドキュメントを確認してください:https://laravel.com/docs/5.3/eloquent

+0

ありがとうございました。私は完全にモデルのfillable配列について忘れてしまった。それは働いた。 – dioannou