方法 App\Http\Controllers\LanguagesController::index 不存在

Method App\Http\Controllers\LanguagesController::index does not exist

LARAVEL

当我通过命令创建一个名为“Admin”的 controller 内部文件夹时 "phpartisanmake:controllerAdmin\ControllerLanguages"

并路由页面出现此错误:

Method App\Http\Controllers\LanguagesController::index does not exist. Bad Method Call Did you mean App\Http\Controllers\LanguagesController::validate() ?

但是当我通过命令在默认文件夹中正常创建 controller 时: “php artisan make:controller 语言控制器”

路由运行并出现页面,我希望在“管理”文件夹中创建它时出现该页面,我尝试了很多方法,但无济于事。

您应该为路由组声明命名空间

Route::prefix('languages')
    ->namespace('App\Http\Controllers\Admin')
    ->group(function() {
        Route::get('/', 'LanguagesController@index')->name('admin.languages');
        //All other Routes for languages defined here
        //LanguagesController is at app/Http/Controllers/Admin folder
    });

或者您可以通过 use 语句导入命名空间,例如在顶部

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Admin\LanguagesController;

Route::prefix('languages')
    ->group(function(){
        Route::get('/', [LanguagesController::class, 'index'])->name('admin.languages');

        //Other languages routes here
    });