Php 修改Laravel 4资源控制器路由
我想修改一些自动生成的Laravel路线,我不确定这是否可能 我有一个名为Php 修改Laravel 4资源控制器路由,php,laravel,laravel-4,eloquent,Php,Laravel,Laravel 4,Eloquent,我想修改一些自动生成的Laravel路线,我不确定这是否可能 我有一个名为Workspace(使用Eloquent)的模型,我使用artisan创建了一个资源控制器 php artisan controller:make WorkspaceController 我还使用这个命令在我的routes.php文件中添加了路由 Route::resource('workspace', 'PROJECT\Controllers\Workspaces\WorkspaceController'); 因为我
Workspace
(使用Eloquent)的模型,我使用artisan创建了一个资源控制器
php artisan controller:make WorkspaceController
我还使用这个命令在我的routes.php
文件中添加了路由
Route::resource('workspace', 'PROJECT\Controllers\Workspaces\WorkspaceController');
因为我想使用getIndex列出可用资源,所以我希望索引路径是工作区
,而不是工作区
,而我希望保留其他场景的结构,如工作区/{id}/edit
等等
您知道如何修改Route::resource
创建的默认路由吗?您不能这样“修改”resource()路由
您可以在resource()的顶部添加更多路由,也可以单独定义每个路由,从而完全控制路由
添加更多路线的示例可以执行以下操作:
Route::get('extra', 'PROJECT\Controllers\Workspaces\WorkspaceController');
Route::resource('workspace', 'PROJECT\Controllers\Workspaces\WorkspaceController');
注意,额外的路由最好在resource()路由之前定义这与其说改变了资源控制器的工作方式,还不如说打乱了一般的路由-实际上,您想要将“工作空间”和“工作空间”资源分配到同一个“东西”。您可以使用轮班交换的答案来执行此操作(路由到同一控制器)。否则,如果你愿意的话,你可以用你的扩展版本替换Laravel的。我想真正的问题是:你这样做有好的商业理由吗?任何阻止您将
/工作区
路由到WorkspaceController@index
?谢谢,我决定最好自己定义所有路线,因为这样我可以更好地控制它们。好的,谢谢你的回答。很遗憾,您不能定义单独的路由,而仍然使用resource()。