Laravel路径名称与资源上的参数

时间:2016-04-09 21:02:01

标签: laravel twig laravel-5.2

这是我的所有路线;

data

这是我(很多)定义的路线之一;

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

我如何调用它并在我的视图中传递group.id和survey.id(如果重要的话,使用twig_bridge是twig)

我试过了;

METHOD = GET|HEAD
URI = admin/surveys/{survey}/groups/{groups}
Name = admin.surveys.{survey}.groups.show
Action = App\Http\Controllers\GroupController@show

和其他类似的语法但总是会出现意外的标点符号错误

我自己没有给这些路线命名。这是默认的Laravel,当坚持命名约定时。

1 个答案:

答案 0 :(得分:0)

您可以使用点语法来定义嵌套资源路由:

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

然后你可以像这样路由到他们:

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