方法 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
});
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
});