2017-05-02 7 views
2

私は多くの属性を持つUserモデルを持っています。それらの多くを分割して、異なる関係のテーブルを分離しています。新しいユーザーを作成するときは、1ページですべての作業を行い、関連するモデルを更新してください。Laravel request merge by名前:

それが動作するようになりまし方法は、コントローラで要求をフィルタリングし、そのモデルに関連するフィールドを選択することで、適切なモデルを作ることである:

User::create($request->only('x', 'y', 'z'); 

これは動作しますが、それは醜い、と私を探していますもっと滑らかなソリューションなので、フロントエンドで何らかの要求をグループ化することが可能かどうか疑問に思っていましたか?例えば:私は最終的に

User::create($request->merged); 
+0

を '合併[]正しい値を得るために適切な値を設定しますか? –

+0

チェックボックスは単なる例であり、多くの入力フィールド、テキスト、日付などがあります。そのようには動作しません。 – Norgul

+0

他の入力フィールドでも機能します。 –

答えて

2

あなたが好きな何かを行うことができますを作ることができるように

{{ Form::checkbox('merged.x','',null,array('class' => 'grey')) }} 
{{ Form::checkbox('merged.y','',null,array('class' => 'grey')) }} 

私は下merged要求JSON

merged:{ 
    x : value_x 
    y : value_y 
} 

内の属性これらの属性の両方になるだろうように、これは:

<form action="/form-array" method="POST"> 
    {{ csrf_field() }} 

    <input type="text" name="profile[name]"> 
    <input type="text" name="profile[email]"> 
    <button>Send</button> 
</form> 

あなたはこの要求をダンプする場合:

Route::post('/form-array', function (\Illuminate\Http\Request $request) 
{ 
    dd($request->all(), $request->get('profile')); 
}); 

ご希望の結果を得る:私はあなたが欲しいものを全くわからないんだけど、あなただけのチェックボックスを呼び出すことはできません