2016-10-05 158 views
0

目前我的路由文件看起来像这样:Laravel路由与资源

Route::get('/corporation/{paginate}','Corporation\[email protected]'); 

Route::group(['middleware' => ['active']], function() { 

    /* Corporation */ 
    Route::resource('corporation','Corporation\CorporationController'); 

} 

所以,我希望,当我去/corporation I'would不使用资源的路线。但它确实-_-

如何确保它使用第一条路线?

非常感谢!

- 编辑 -

Route::post('/user', 'User\[email protected]'); 

Route::group(['middleware' => ['active']], function() { 

    /* User */ 
    Route::resource('user', 'User\UserController'); 
} 

回答

1

它去使用资源的路线,因为/corporation不符合/corporation/{paginate}标准。

由于即时通讯猜测你想/corporation/{paginate}是可选的,并为其他网址使用资源路由,你应该通过添加一个?符号使paginate成为可选项。

Route::get('/corporation/{paginate?}', 'Corporation\[email protected]'); 

此外,您需要从资源中排除默认的GET /corporation

Route::resource('corporation', 'Corporation\CorporationController', ['except' => [ 
    'index' 
]]); 
+0

谢谢卡洛斯。这工作,但现在我用另一条路线呢?请参阅我的编辑。 – Jamie

+1

这些路线有什么问题?它不需要声明第一条路由,因为该路由是由资源路由 – Carlos

+0

创建的,但是我必须在没有“活动”中间件的情况下访问它。 – Jamie