Reputation: 551
LARAVEL
when I make a controller insid folder called "Admin" by command "php artisan make:controller Admin\ControllerLanguages"
and Route the page This error appears:
Method App\Http\Controllers\LanguagesController::index does not exist. Bad Method Call Did you mean App\Http\Controllers\LanguagesController::validate() ?
but when i make the controller normally in the default folder by command: "php artisan make:controller LanguagesController"
the route runs and the page appears, i want the page appears when i create it in "Admin" Folder, I tried many ways, but to no avail.
Upvotes: 1
Views: 2975
Reputation: 12835
You should declare the namespace for the route group
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
});
Or you can import the namespace via use
statement like, at the top
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
});
Upvotes: 1