1
votes

LARAVEL error!!

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.

Controller CodeRoute Code

1
Hey. It looks like you miswrote this in your first part: ControllerLanguages. It should be LanguagesController - Abbas Akhundov

1 Answers

1
votes

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