Laravel - 路由模式不能多次引用变量名称

Lef*_*eff 1 php routes laravel

我正在研究一个遗留代码,一个用Laravel 5.2构建的项目,我收到一个错误:

Route pattern "/api/v0/taxonomy/{term}/{{term}}" cannot reference variable name "term" more than once.
Run Code Online (Sandbox Code Playgroud)

对于这条路线:

/post/106
Run Code Online (Sandbox Code Playgroud)

这是我的路线:

Route::group(['prefix' => 'api'], function() {
    Route::group(['prefix' => 'v0'], function () {
        Route::get('route/{a?}/{b?}/{c?}/{d?}', 'DynamicRouteController@resolve');
        Route::get('id/{id}', 'DynamicRouteController@resolveId');
        Route::get('search', 'SearchController@search');
        Route::resource('taxonomy/{term}','TaxonomyController');
    });
});
Run Code Online (Sandbox Code Playgroud)

不确定,为什么我会收到此错误?

ka_*_*lin 6

当您将路由定义为资源时,Laravel似乎会创建资源所需的所有路由:GET,POST,PATCH,DELETE.

所以你只需要定义Route::resource('taxonomy','TaxonomyController');Route::resource('taxonomy.post','TaxonomyPostController');

检查文档

  • 是的,每天晚上睡觉前. (3认同)
  • 当 Laravel 不仅仅是一个框架,更是一种宗教:)) (2认同)