Laravel 8:目标 class 不存在错误

Laravel 8: Target class does not exist ERROR

我有两个 ArticleController,其中一个放在 Controllers 中的 Admin 目录中:

use App\Http\Controllers\Admin\ArticleController as ArticleADMController;
use App\Http\Controllers\ArticleController;

Route::get('/articles/{articleSlug}' , [ArticleController::class, 'single']);
Route::prefix('admin')->namespace('Admin')->group(function() {
    Route::resource('articles' , ArticleADMController::class)->except(['show']);
});

现在每当我想去 /admin/articles 时,我都会收到这条消息:

Illuminate\Contracts\Container\BindingResolutionException Target class [Admin\App\Http\Controllers\Admin\ArticleController] does not exist.

但是,它确实存在于此图片中:

那么这里出了什么问题?我该如何解决这个问题?

如果你知道,请帮助我解决这个问题,我非常感谢你们的任何想法或建议...

提前致谢。

从您的路由中删除名称空间('Admin')。您正在为 Admin/ArticleController 添加前缀。由于您已经使用了命名空间路径,因此无需在路由组中单独添加任何命名空间。

如果仍然无法解决问题,请在您的 Admin\ArticleController 中分享命名空间声明。

对于 Admin 路由:您已经指定控制器来自 admin 路径,试试这个。

对于文章路线:删除“使用”并直接在“文章”路线的路径中包含完整路径。

Route::get('/articles/{articleSlug}' , [App\Http\Controllers\ArticleController::class, 'single']);
Route::prefix('admin')->namespace('Admin')->group(function() {
    Route::resource('articles' , ArticleController::class)->except(['show']);
});