【发布时间】:2013-08-20 00:03:45
【问题描述】:
我想修改一些自动生成的 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 创建的默认路由吗?
【问题讨论】:
-
这并没有改变资源控制器的工作方式,而是通常会弄乱路由 - 您实际上希望将“工作区”和“工作区”资源分配给同一个“事物”。您可以使用 The Shift Exchange 的答案来执行此操作(路由到同一个控制器)。否则,您可以 extend the router 并根据需要将 Laravel 替换为您的扩展版本。
-
我想真正的问题是:您这样做有充分的商业理由吗?有什么阻止您将
/workspaces路由到WorkspaceController@index吗? -
谢谢,我决定最好自己定义所有路线,因为这样我可以更好地控制它们。
标签: php laravel laravel-4 eloquent