2016-08-19 7 views
0

私はLaravel 5.2を新しくしています。選択したフィールドの1つ(role_id)に、このデータベースの役割テーブルのデータが入力されます。ちょうど良い。リクエストを返すと、データが完全に返された場合: Laravelデータベースにデータを永続化してnullを返すすべてのステートメントが正しいデータを表示

{ 
    _token: "lKF7Inzy1sGnQ1DwX6yBZCqDjTpgcvqfBqANuInz", 
    name: "jingle2", 
    email: "[email protected]", 
    **role_id: "1",** 
    is_active: "1", 
    password: "jocoblinks", 
    file: { } 
} 

しかし、データベースにフォーム上のデータを永続化するときに

、私は順番に、このフィールドにNULL値を取得します。データを永続化するための

方法:

public function store(UserRequest $request) 
{ 
    //return $request->all(); 

    User::create($request->all()); 

    return redirect('/admin/users'); 
} 

これは私のフォーム上のフィールドは次のようになります。

public function create() 
{ 
    $roles = Role::lists('name', 'id')->all(); 

    return view('admin.users.create', compact('roles')); 
} 

:フォーム上の$rolesをから得ている

<div class="form-group"> 
    {!! Form::label('role_id', 'Role:') !!} 
    {!! Form::select('role_id', [0=>'Choose options'] + $roles, null, ['class'=>'form-control']) !!} 
</div> 

私はこれをデバッグしようとしましたが、なぜこれが起こっているのか分かりません。

答えて

0

変数fillablerole_id列を追加する必要があります。これを行うには、Userモデルを開き、保護された変数$fillableにこのフィールドを追加する必要があります。あなたはそれについてドキュメントで読むことができます:https://laravel.com/docs/5.2/eloquent#mass-assignment

+0

ありがとうございます@MarekSkiba、私はそれについて完全に忘れました。 'fillable'変数に' role_id'を追加すると、それが動作します。 – Joco25

関連する問題