2016-05-12 12 views
3

Zum Beispiel hinzufügen, ich ein Routen haben, die für die Admin-Seite ist, Bücher zu verwalten, eine Route wie folgt festgelegt ist:Laravel erzeugen, um die Routen mit Routen :: Ressource benötigen Präfix/admin/

Route::resource('books','Admin\BookController'); 

es erzeugt wenige Routen für insert/update/delete etc ... automatisch

/books/create 
/books/1/edit 

Das Problem ist, ist es Admin-Seite und ich würde den Link

/admin/books/create 
/admin/books/1/edit 
01 zu sein

Wie spezifisch die Ressource zu sein, um ein zu sein? Sie

enter image description here

enter image description here

Antwort

3

Wenn Sie das Präfix für eine mehrere Routen,: es auto haben Präfix/admin/Danke

Aktualisiert sollte route group:

verwenden
Route::group(['prefix' => 'admin'], function() 
{ 
    Route::resource('books','Admin\BookController'); 
}); 

Oder, wenn Sie nur einen Controller verwenden müssen, könnten Sie dies nur tun:

Route::resource('/admin/books','Admin\BookController'); 
+0

danke, aber es zeigt Syntaxfehler, unerwartet ')', erwartet ']' – user782104

+1

Oh, sorry, ich habe das Schließen ']' vergessen. Jetzt behoben. –

+0

danke für die schnelle Lösung. Und wenn ich zu http: // localhost: 8000/admin/books gehe, wird Route [books.edit] nicht definiert. – user782104

2

Ändern Sie Ihre route zu

Route::resource('admin/books','Admin\BookController'); 
0

Nur um Alexey Antwort hinzuzufügen. Ich benutze Namespace auch mit Gruppe. Unten ist das Beispiel.

Route::group([ 
    'prefix'  => 'admin', 
    'namespace' => 'Admin', 
    'middleware' => 'admin.routeNeedsPermission:view-admin-management', 
], function() { 
     Route::resource('books','BookController'); 
}); 

Auf diese Weise müssen Sie nicht Admin in allen Routen schreiben.