首页 > 解决方案 > 错误的控制器被用于编辑路由(使用 Laravel 资源助手)

问题描述

我目前正在使用 laravel 5.4,我偶然发现了一些我无法修复的东西。

我目前正在尝试使用 Laravelresource助手将路由绑定到控制器: Route::resource('campaigns', 'CampaignsController');

当我执行 a 时,我正确地看到了我的路线PHP artisan:route list,我将所有 CRUD 端点都绑定到了适当的控制器功能。另外,请注意,我目前正在为所有需要绑定到 CRUD 系统的路线(我正在使用的主要是表单)执行此操作,没有任何问题

话虽如此,每当我尝试编辑 aCampaign时,都会出现错误:Class App\Http\Controllers\Ads\Campaigns does not exist

我不知道为什么它Campaigns在我指定控制器时试图寻找CampaignsController控制器。广告系列路线中的所有内容都正常运行,除了编辑路线。此外,我所有其他路线都有相同的逻辑,从未遇到过这个问题。

知道为什么它在寻找错误的 Controller 吗?

这是我的命名空间声明和文件夹层次结构,没关系(请注意,adsController 的路由声明方式相同,使用方式也相同)

在此处输入图像描述

在此处输入图像描述

这是我的编辑方法

在此处输入图像描述

这是错误

在此处输入图像描述

标签: phplaravelcontroller

解决方案


您很可能尝试在控制器中注入不存在的类。

如果您没有这样的东西,请查看控制器构造函数或编辑路由:

public function edit(Campaigns $campaigns)
{
}

并确保从有效的命名空间导入广告系列(可能不在App\Http\Controllers\Ads命名空间中。

如果它没有帮助,请尝试在您的app目录中查找Ads\Campaigns以查看它的使用位置。有时问题可能出在应用程序的完全不同的部分。

编辑

还要确保你没有犯任何错字。你有错误,Campaigns但你的模型可能是Campaign- 是否有可能在一个地方你s最后有额外的?


推荐阅读