2

我遇到了这个问题,如果我在第一个路由中定义一个参数,第二个会抛出这个错误:

“路由模式“/browse/{brand}/{{brand}}”不能多次引用变量名“brand”。

Route::resource('browse/{brand}', 'BrowseController');

Route::group(array('prefix' => 'service'), function() { 
    Route::resource('authenticate', 'AuthenticationController');
});

如果我取出参数,当然会破坏浏览路线,但是身份验证路线有效。

有谁知道这是什么原因?

4

1 回答 1

4

原因是因为Route::resource在后台为您指定的控制器创建了几个(RESTful)路由处理程序:

http://laravel.com/docs/controllers#resource-controllers

查看名为:资源控制器处理的操作的表

你可以看到 Laravel 已经为你处理了带有参数的路由,你可以使用这些参数来实现浏览。

我认为 for 的预期用途Route::resource不会像您尝试的那样进行参数化。

当然,如果那些不符合您的需求,您总是可以实施其他路线。

于 2013-10-22T09:37:01.733 回答