修改Laravel 4资源控制器路由


Modifying Laravel 4 resource controller routes

我想修改一些自动生成的Laravel路由,但我不确定这是否真的可行。

我有一个名为Workspace的模型(使用Eloquent),我使用artisan创建了一个资源控制器。

php artisan controller:make WorkspaceController

我还在routes.php文件中添加了使用此命令的路由。

Route::resource('workspace', 'PROJECT'Controllers'Workspaces'WorkspaceController');

由于我想使用getIndex来列出可用资源,我希望索引路由是workspaces而不是workspace,而我希望保留其他场景(如workspace/{id}/edit等)的结构。

你知道我如何修改Route::resource创建的默认路由吗?

您不能这样"修改"resource()路由。

您可以在resource()之上添加更多的路由,也可以单独定义每条路由,从而完全控制您的路由。

阅读这篇关于路线的博客-它将揭示问题

一个添加更多路线的例子,你可以这样做:

 Route::get('extra', 'PROJECT'Controllers'Workspaces'WorkspaceController');
 Route::resource('workspace', 'PROJECT'Controllers'Workspaces'WorkspaceController');

请注意,额外的路由最好在resource()路由之前定义