Laravel请求按名称

时间:2017-05-02 18:45:17

标签: php laravel

我有一个具有很多属性的User模型,我将它们分成了不同关系的单独表格。在创建新用户时,我希望在一个页面上完成所有操作,同时更新相关模型。

现在的工作方式是过滤控制器中的请求,并通过选择与该模型相关的字段来建立适当的模型:

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

虽然这有效,但它看起来很难看,我正在寻找一个更光滑的解决方案,所以我想知道是否有可能以某种方式将请求分组到前端?例如:

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

这样我就可以在请求JSON

中的merged属性下获得这两个属性
merged:{
    x : value_x
    y : value_y
}

这样我才能最终制作

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

1 个答案:

答案 0 :(得分:2)

您可以这样做:

<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'));
});

你得到了你想要的结果:

相关问题