2016-04-09 6 views
0

Hier sind alle meine Routen;Laravel Routennamen mit Parametern auf einer Ressource

Route::group(['prefix' => 'admin'], function() { 
    Route::resource('surveys', 'SurveyController'); 
    Route::resource('surveys/{survey}/groups', 'GroupController'); 
    Route::resource('surveys/{survey}/groups/{group}/questions', 'QuestionController'); 
}); 

Dies ist eine meiner (vielen) definierten Routen;

METHOD = GET|HEAD 
URI = admin/surveys/{survey}/groups/{groups} 
Name = admin.surveys.{survey}.groups.show 
Action = App\Http\Controllers\[email protected] 

Wie ich das nennen kann und in der group.id und der survey.id meiner Meinung nach passieren (es wird Zweig twig_bridge zu verwenden, wenn diese Fragen)

Ich habe versucht;

{{ route('admin.surveys.{survey}.groups.show', ['survey' => survey.id, group.id]) }} 

und andere ähnliche Syntax aber immer unerwartet Zeichensetzung erhalten Fehler

ich diesen Strecken mich nicht nennen. Dies ist Standard Laravel, wenn Sie sich an die Namenskonventionen halten.

Antwort

0

können Sie die Punkt-Syntax verwenden, um verschachtelte Ressource Routen zu definieren:

Route::group(['prefix' => 'admin'], function() { 
    Route::resource('surveys', 'SurveyController'); 
    Route::resource('surveys.groups', 'GroupController'); 
    Route::resource('surveys.groups.questions', 'QuestionController'); 
}); 

Dann können Sie Route zu ihnen wie folgt aus:

route('admin.surveys.groups.show', [$surveyId, $groupId]) 
route('admin.surveys.groups.questions.show', [$surveyId, $groupId, $questionId]) 
Verwandte Themen