laravel形式集合中的自动方法POST或PUT

时间:2016-09-27 06:13:37

标签: php forms laravel-5 laravelcollective

我正在使用laravel form collective在项目中自动生成表单。 我使用相同的表单添加和更新路由模型绑定

{!!  Form::model($operator, ['route' => ['operator.update', $operator->id]])  !!}

并且路线为

 Route::resource('operator','OperatorController');

这会生成方法的自动路由,例如POST用于商店,PUT用于更新

如果我使用form collective,那么默认方法是POST用于存储和更新 如果我改为PUT,那么两者都改变​​了

我需要自动方法检测,就像我用于商店一样,如果是编辑形式,它应该是POSTPUT

我们可以这样做吗?

1 个答案:

答案 0 :(得分:1)

主要是如果你想要检测这两种情况,你应该使用Form::open用于创建模式,Form::model用于更新模式(使用方法PUT),如下所示:

@if(!empty($operator))
    {!!  Form::model($operator, ['route' => ['operator.update', $operator->id], 'method' => 'PUT'])  !!}
@else
    {!!  Form::open(['route' => ['operator.store', $operator->id]])  !!}
@endif

以上内容会在更新时自动将_method隐藏字段添加到您的表单(带有PUT值)。 您还应该拆分行动(storeupdate),因为它在Laravel文档中关于Resource Controller