2017-03-07 9 views
1

Ich möchte eigentlich eine explizite Route definieren. Lass mich ein Beispiel geben.Differenzierende statische Routen mit variablen Routen

Route::get('/profile/{slug}', function(){...}); 

Diese Route wird verwendet, um das Profil des Benutzers anzuzeigen.

Aber ähnlich möchte ich definieren -

Route::get('/profile/edit', function(){...}); 

bearbeiten Profilansicht angezeigt werden soll.

Ich bin nicht in der Lage, es zu implementieren, da seine 'bearbeiten' als Wert zu {slug}.

Wie sollte ich dies implementieren, während Sie beide Routen in derselben Gruppe mit derselben Middleware beibehalten.

Antwort

2

Versuchen Sie, die Linien wie folgt zu tauschen.

Route::get('/profile/edit', function(){...}); 
Route::get('/profile/{slug}', function(){...}); 

Zuerst wird es für edit überprüfen sonst wird es zu slug weitergegeben werden.

+0

Wow. Eigentlich habe ich nicht erwartet, dass das funktioniert, aber überraschenderweise funktioniert es. Wie ist es so? Fügt es ausstehenden Routen eine Ausnahme hinzu? –

+1

Sie hatten die erste Route als '/ profile/{slug}' deshalb behandelte die Anwendung alles nach '/ profile/*' als 'slug'. Aus diesem Grund wurden Ihre anderen Routen nie aufgerufen. (wie '/ edit') –

+0

Okay. Vielen Dank. –