Laravel 5 在组内使用斜杠时路由不起作用?

Laravel 5 routing not working when using slashes inside groups?

我在 Laravel 5 中遇到一个简单路由的小问题。下面,我不得不评论代码片段。

// It works when I call /tribut.updateStatus URL
$router->group(['prefix' => 'admin', 'before' => 'isLogged|isAdmin'], function ($router) {
    $router->resource('tribut', 'Admin\TributController');
    $router->get('tribut.updateStatus', 'Admin\TributController@updateStatus'); 
});

// Does not work when I call: /tribut/updateStatus URL
$router->group(['prefix' => 'admin', 'before' => 'isLogged|isAdmin'], function ($router) {
    $router->resource('tribut', 'Admin\TributController');
    $router->get('tribut/updateStatus', 'Admin\TributController@updateStatus'); 
});

我想使用第二个路线选项。可能吗?我究竟做错了什么?当我调用不起作用的路由时,屏幕变为空白。没有显示错误,日志文件中也没有。

问题是 $router->resource('tribut') 注册了一个缓存所有内容的路由 GET tribut/* 因为它认为 * 是一个 id。

解决方案非常简单,只需在资源路由之前定义显式获取路由

$router->group(['prefix' => 'admin', 'before' => 'isLogged|isAdmin'], function ($router) {
    $router->get('tribut/updateStatus', 'Admin\TributController@updateStatus');
    $router->resource('tribut', 'Admin\TributController');
});