The Route is named admin.dashboard not dashboard. A Route name is not the same as the route URI.
If you wanted to use the URI, then the redirect should use to, not route method:
return redirect()->to($this->redirectTo);
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
Hi! What is the issue here, when Route->dashboard is called from my selectrole view file
@extends('layouts.app')
@section('content')
<div class="wrapper wrapper-full-page">
<div class="page-header login-page header-filter">
<div class="container">
<div class="row">
<div class="col-lg-4 col-md-6 col-sm-8 ml-auto mr-auto">
<form class="form" method="POST" action="{{ route('login') }}">
@csrf
<div class="card card-login">
<div class="card-header card-header-primary text-center">
<h4 class="card-title">Select rute<img src="{{asset('img/logoEasyflowdark.png')}}" style="width:220px;hight:150px"></h4>
</div>
@if(session('status'))
<div class="card-body" style="padding: .9375rem 20px;">
<p class="alert alert-info">
{{ session('status') }}
</p>
</div>
@endif
<div class="card-body">
<div class="bmd-form-group">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">
<i class="material-icons">email</i>
</span>
</div>
<input name="email" type="email" class="form-control" placeholder="{{ __('global.login_email') }}..." value="{{ old('email') }}" required autocomplete="email" autofocus>
</div>
@error('email')
<div class="error" for="email">
{{ $message }}
</div>
@enderror
</div>
<div class="bmd-form-group">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">
<i class="material-icons">lock_outline</i>
</span>
</div>
<input name="password" type="password" class="form-control" placeholder="{{ __('global.login_password') }}..." autocomplete="current-password" required>
</div>
@error('password')
<div class="error" for="email">
{{ $message }}
</div>
@enderror
</div>
<div class="form-check">
<label class="form-check-label">
<input type="checkbox" name="remember" class="form-check-input">
<span class="form-check-sign"><span class="check"></span></span>
Remember me
</label>
</div>
</div>
<div class="card-footer justify-content-center flex-column">
<button type="submit" class="btn btn-round btn-primary">
{{ __('global.login') }}
</button>
<div class="d-flex justify-content-between">
@if(Route::has('password.request'))
<a class="btn btn-link btn-primary" href="{{ route('password.request') }}">
{{ __('global.forgot_password') }}
</a>
@endif
@if(Route::has('register'))
<a class="btn btn-link btn-primary" href="{{ route('register') }}">
{{ __('global.register') }}
</a>
@endif
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<style>
input:-internal-autofill-selected {
background-color: white !important;
}
</style>
@endsection
This is calling the controller ->selectroleController
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Models\User;
use App\Models\Role;
use Session;
use Illuminate\Validation\Rule;
use App\Http\Resources\Admin\RoleResource;
use App\Http\Requests\StoreRoleRequest;
use App\Http\Requests\UpdateRoleRequest;
class SelectroleController extends Controller
{
public function index()
{
$userid = auth()->user()->id;
$roller = Role::getroles($userid);
return view('roller.index', compact('roller'));
}
public function getcurrentRole()
{
return auth()->user()->role_id;
}
public function selectrole(Request $request)
{
// Get selected role and startlist
$role_id = $request->valgrolle;
// Store default role on user
$storedefrole = User::storeDefRoleUser($role_id);
switch ($role_id) {
case 1:
$this->redirectTo = 'dashboard';
break;
case 2:
$this->redirectTo = 'dashboard';
break;
case 3:
$this->redirectTo = 'dashboard';
break;
case 4:
$this->redirectTo = 'dashboard';
break;
case 5:
$this->redirectTo = 'starter';
break;
case 6:
$this->redirectTo = 'marshal';
break;
case 7:
$this->redirectTo = 'dashboard';
break;
case 8:
$this->redirectTo = 'dashboard';
break;
case 9:
$this->redirectTo = 'player';
break;
case 10:
$this->redirectTo = 'tester';
break;
default:
$this->redirectTo = 'player';
}
return redirect()->route($this->redirectTo);
}
}
I have selected Superadmin -> $role_id = 4 So it calls $this->redirectTo = 'dashboard';
Here is my route file
<?php
use App\Http\Controllers\UserController;
use App\Models\Role;
use App\Models\User;
Route::redirect('/', '/login');
Route::redirect('/dashboard', '/admin/dashboard');
Route::redirect('/player', '/admin/player');
Route::redirect('/marshal', '/admin/marshal');
Route::redirect('/starter', '/admin/starter');
Route::redirect('/tester', '/admin/tester');
// Check if users is online or offline
Route::get('/check', [UserController::class, 'userOnlineStatus']);
Auth::routes(['register' => true]);
Route::group([
'prefix' => 'admin',
'as' => 'admin.',
'namespace' => 'Admin',
'middleware' => ['auth'],
], function () {
Route::view('/{any?}', 'layouts.admin.app')->name('dashboard')->where('any', '.*');
});
// Dashboard - Federation
//Route::get('testing', [ChatwalkiController::class, 'index']);
// Roller
Route::get('/roller','SelectroleController@index')->name('roller');
Route::post('/roller','SelectroleController@selectrole');
Get this error message:
Symfony\Component\Routing\Exception\RouteNotFoundException
Route [dashboard] not defined.
Why dosent it calls -> Route::redirect('/dashboard', '/admin/dashboard');???
@birdietorerik are you wanting to use the Route name or the Route URI for redirection?
Please or to participate in this conversation.