2016-09-27 4 views
1

Ich verwende laravel form collective für die automatische Formulargenerierung im Projekt. ich gleiche Form für Add und Update mit Routen Modellautomatische Methode POST oder PUT in Laravel Form Kollektiv

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

und Route hierfür ist

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

Diese für Verfahren wie POST für Speicher und PUT automatische Routen generiert für Updates

Wenn ich Formularkollektiv verwende dann ist die Standardmethode POST sowohl für die Speicherung als auch für die Aktualisierung , wenn ich zu PUT ändere, dann änderte es sich für beide

I wie automatische Erkennung Methode benötigen, wenn ich für Speicher verwenden, sollte es POST und PUT sein, wenn sie bearbeiten Form sind

können wir dies tun?

Antwort

1

Vor allem, wenn Sie beide dieser Situation erfassen möchten, sollten Sie Form::open für Modus erstellen verwenden und Form::model für Update-Modus (mit Methode PUT) wie folgt aus:

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

Diese oben wird automaticlly hinzufügen _method verstecktes Feld zu Ihr Formular (mit PUT-Wert) beim Aktualisieren. Sie sollten auch für Aktionen spalten (store und update), wie es in Laravel Docs über Resource Controller ist. ja

+0

wir können das tun, wie diese auch '@if (! empty ($ Operator)) @endif ' – ddw147

+0

so hilft das? –

+0

Vielen Dank, dies ist eine gute Referenz auf dem sonst schwer zu finden, wie man einen Routenparameter übergeben, wenn Sie eine benannte Route verwenden, wenn Sie laravel html collective verwenden. – blamb

Verwandte Themen