25

私はこの機能について読んでいます: http://laravel.com/docs/html#form-model-binding

とてもきれいに見えますが、よくわからない点がいくつかあります。

このフォームを処理するためにコントローラ アクションにコードを追加する必要はありますか? それはどのように見えますか?

フォームにバインドしたいモデル (ユーザー) には、アドレス用の別のテーブルがあります。したがって、User モデルのフィールドだけでなく、関連する Address モデルのフィールドにも入力できるようにしたいと考えています。form-model-binding でそれを行うことはできますか、それともフォームを手動で処理する必要がありますか?

または、それができない場合、ユーザー フィールドにフォーム モデル バインディングを使用して、アドレス フィールドを手動で処理することはできますか?

4

2 に答える 2

2

リレーション モデル バインディング用の Laravel 5.1 では、リレーション テーブルを熱心にロードする必要があります。

$user = User::with(['address'])->find($id);

ビューでは、フィールド名を配列として設定します。

{!! Form::model($user, ['route' => ['user.update', $user->id]]) !!}
    {!! Form::text('address[street]') !!}
    {!! Form::text('address[number]') !!}
{!! Form::close() !!}
于 2015-11-19T15:10:29.273 に答える