Я хочу использовать, Пользователь вводит префикс группы маршрутов laravel после входа в систему. Но у меня нет идеального способа сделать это.
например: у меня есть три типа пользователя -
1- admin
2- executive
3- user
Я хочу создать префикс маршрута c, например:
1- admin/dashboard
2- executive/dashboard
3- user/dashboard
Я пытаюсь сделать это с помощью вспомогательного файла
// Получение названия отдела для помощника по префиксу URL. php
function routePrefix(){
$userDepartment = '';
if(Auth::user() != ''){
$dept_id = Auth::user()->department_id;
$userDepartment = Str::of(Department::where('id', $dept_id)->first()->department)->slug('-');
}
return $userDepartment;
}
Здесь я не могу получить данные аутентификации в вспомогательном файле, из-за промежуточного программного обеспечения аутентификации в моей группе маршрутов
web. php
Route::group([
'middleware' => ['auth', 'accessControl'],
'prefix' => routePrefix(),
], function () {
Route::get('dashboard', 'UserController@index')->name('user.index')
})
Здесь все работает правильно, когда я прохожу stati c идентификатор отдела в помощнике, но если я попытался войти в пользовательский отдел, я получаю следующую ошибку:
ErrorException Попытка получить свойство «Department_id» не-объекта