Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

wiznox's avatar

Route [admin] not defined.

Route::group(["namespace"=>"Admin",'middleware' => 'auth','prefix' => 'admin'], function () { Route::get('/home', [ 'as' => 'admindashboard', 'uses' => 'AdminController@index']); Route::get('/user', 'AdminController@users'); Route::post('/logout','AdminController@logout'); Route::post('/profile','AdminController@profile'); Route::delete('/delete','AdminController@delete'); Route::get('/edit/{id}','AdminController@edit'); Route::post('/updateUser','AdminController@update'); Route::get('/addUser','AdminController@addUser'); Route::post('/doAddUser','AdminController@doaddUser'); });

Route::group(["namespace"=>"Admin"],function () { Route::post('/admin/login',[ 'as' => 'postLogin', 'uses' => 'AdminController@doLogin']); Route::get('/admin', [ 'as' => 'adminlogin', 'uses' => 'AdminController@login']); });

0 likes
6 replies
Nakov's avatar

@wiznox are you using the route() helper function?

If you do, then a named route is expected, something like this for example:

Route::get('/home', [ 'as' => 'admindashboard', 'uses' => 'AdminController@index'])->name('admin');

Now this one will be available using

route('admin')

you can see the name of the routes by running php artisan route:list.

wiznox's avatar
+--------+----------+---------------------+----------------+------------------------------------------------------+----------------+
| Domain | Method   | URI                 | Name           | Action                                               | Middleware     |
+--------+----------+---------------------+----------------+------------------------------------------------------+----------------+
|        | GET|HEAD | admin               | adminlogin     | App\Http\Controllers\Admin\AdminController@login     | web            |
|        | GET|HEAD | admin/addUser       |                | App\Http\Controllers\Admin\AdminController@addUser   | web,auth       |
|        | DELETE   | admin/delete        |                | App\Http\Controllers\Admin\AdminController@delete    | web,auth       |
|        | POST     | admin/doAddUser     |                | App\Http\Controllers\Admin\AdminController@doaddUser | web,auth       |
|        | GET|HEAD | admin/edit/{id}     |                | App\Http\Controllers\Admin\AdminController@edit      | web,auth       |
|        | GET|HEAD | admin/home          | admindashboard | App\Http\Controllers\Admin\AdminController@index     | web,auth       |
|        | POST     | admin/login         | postLogin      | App\Http\Controllers\Admin\AdminController@doLogin   | web            |
|        | POST     | admin/logout        |                | App\Http\Controllers\Admin\AdminController@logout    | web,auth       |
|        | POST     | admin/profile       |                | App\Http\Controllers\Admin\AdminController@profile   | web,auth       |
|        | POST     | admin/updateUser    |                | App\Http\Controllers\Admin\AdminController@update    | web,auth       |
|        | GET|HEAD | admin/user          |                | App\Http\Controllers\Admin\AdminController@users     | web,auth       |
|        | GET|HEAD | api/user            |                | Closure                                              | api,auth:api   |
|        | GET|HEAD | api/v1/user         |                | App\Http\Controllers\UsersController@show            | api,jwt.verify |
|        | POST     | api/v1/user         |                | App\Http\Controllers\UsersController@create          | api            |
|        | PUT      | api/v1/user         |                | App\Http\Controllers\UsersController@update          | api,jwt.verify |
|        | POST     | api/v1/user/login   |                | App\Http\Controllers\UsersController@login           | api            |
|        | POST     | api/v1/user/logout  |                | App\Http\Controllers\UsersController@logout          | api,jwt.verify |
|        | GET|HEAD | api/v1/user/me      |                | App\Http\Controllers\UsersController@me              | api,jwt.verify |
|        | GET|HEAD | api/v1/user/refresh |                | App\Http\Controllers\UsersController@refresh         | api,jwt.verify |
|        | DELETE   | api/v1/user/{id}    |                | App\Http\Controllers\UsersController@delete          | api,jwt.verify |
+--------+----------+---------------------+----------------+------------------------------------------------------+----------------+
Nakov's avatar

@wiznox so you see the only named route that you have is adminlogin so you can use that one only with the helper:

{{ route('adminlogin') }}

if you add a name to another route as I've showed you above, you can use it using the prefix that you use..

Again this:

Route::get('/home', [ 'as' => 'admindashboard', 'uses' => 'AdminController@index'])->name('admin');

will be used as {{ route('adminadmin') }}

wiznox's avatar

I am using jwt token for apis but when i am creating auth routes in web by using auth middleware with custom login functionality middleware can't authenticate our auth routes but i have successfully login with attempt function my issue is this.

Nakov's avatar

Your problem is within your web.php not within your api.php so the API routes can be used.. but for the WEB routes make sure you read what I say above :) and find your error in the views.

zhanang19's avatar

Check this out, and customize to apply your need

// web.php
Route::group(['namespace' => 'Admin', 'prefix' => 'admin', 'as' => 'admin.'], function () {
    Route::post('event/change-status', 'EventController@changeStatus')->name('event.change-status');
});
// view.blade.php
<a href="{{ route('admin.event.change-status') }}">Change Status</a>

Please or to participate in this conversation.