2017-08-13 2 views
0

Ich habe Probleme mit dem Routing in Laravel 5.4. Ich versuche, ein einfaches Bearbeitungsformular für ein Unternehmen anzuzeigen.Laravel 5.4 fehlender Routenparameter - Parameter wurde an route() übergeben Methode

Der Fehler Ich erhalte ist

enter image description here

web.php:

$this->get('company/edit/{company}','SuperAdmin\[email protected]')->name('company.edit'); 
$this->post('company/edit', 'SuperAdmin\[email protected]'); 

Wie ich Link auf die Route bauen:

<a href="{{route('company.edit', ['company' => $company->id])}}" class="btn btn-success">Edit</a> 

In der Steuerung:

public function showEditForm() 
{ 
    return view('super.company.edit'); 
} 

Gelöst: Lieber Gott, ich habe vergessen, den Parameter der route() Methode in der Ansicht hinzufügen, wo ich das Formular rendern. Danke an alle.

+0

Try 'php Handwerker Route: clear' und dann prüfen, ob es Ihnen die gleichen Fehler gibt. –

+0

Versucht, der Fehler bleibt. – Danijelb

Antwort

0

Sie müssen den Schlüssel für die Routenvariable nicht einfach als zweites Argument in der route-Funktion übergeben. Laravel löst den Parameter automatisch in der Reihenfolge auf.

Like:

route('company.edit', $company->id); 

Hoffe, dass es helfen würde.

+0

Ich habe das auch versucht und es hat nicht funktioniert. In beiden Fällen, wenn ich die URL anschaue, ist der Parameter vorhanden, aber der Fehler tritt immer noch auf. – Danijelb

+0

@Danijelb Dann bist du dir sicher, dass du nirgendwo die gleiche Route benutzt hast? In Navigation, Header usw. –

+0

Nein, dies ist ein erstes Mal, dass ich dieses hinzugefügt habe. Es ist einfach, wie Routen in Laravel funktionieren, aber ich kann einfach nicht herausfinden, was ich falsch mache. – Danijelb

0

Als Erstes können Sie die ID wie dd($company->id) debuggen, um sicherzustellen, dass Sie wirklich die gewünschte ID erhalten, denn wenn es null wird es nicht funktionieren.

Es klingt dumm, aber es passiert ..

+0

Ich habe das schon gemacht, die ID ist da und es ist gültig – Danijelb

+0

hmmm ... Was passiert, wenn Sie die URL 'localhost/your-project/company/edit/2' in Ihrem Browser drücken? Wird die Bearbeitungsseite angezeigt? –

+0

Nein, wenn Sie versuchen, direkt darauf zuzugreifen, ist es immer noch der gleiche Fehler – Danijelb