laravel 5.1路由组只占用第一个控制器?

时间:2016-02-27 16:40:47

标签: laravel laravel-5 laravel-5.1

Route::group(['prefix' => 'api'], function () {

    Route::controller(null, 'BoxController');
    Route::controller(null, 'CostController');

});

这是Laravel 5.1中的路由组,第一个控制器的URL正在工作,但第二个'CostController'没有。

如果我换行,第一行只能工作。我希望两个控制器网址都以...api/box/...api/cost/

为前缀

互联网上的例子组中只有一个控制器,也许还有另一种语法?

我希望网址如下:(因为我处理REST应用程序)

api/cost
api/box

不喜欢:

api/cost/cost
api/box/box

2 个答案:

答案 0 :(得分:0)

为什么使用null作为路线?

如果您使用不同的路线,两者都有效:

Route::group(['prefix' => 'api'], function () {

    Route::controller('box', 'BoxController');
    Route::controller('cost', 'CostController');

});

答案 1 :(得分:0)

传递null作为路由是一回事,但主要的罪魁祸首是你为不同的控制器传递相同的路由。解决方案是使用控制器的实际路由,所以。即box BoxController和另一个cost。它会正常工作

Route::group(['prefix' => 'api'], function () {
    Route::controller('box', 'BoxController');
    Route::controller('cost', 'CostController');
});