Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 修改Laravel 4资源控制器路由_Php_Laravel_Laravel 4_Eloquent - Fatal编程技术网

Php 修改Laravel 4资源控制器路由

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'); 因为我

我想修改一些自动生成的Laravel路线,我不确定这是否可能

我有一个名为
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()。