laravel - Dynami c префикс группы маршрутов как роль - PullRequest
0 голосов
/ 18 июня 2020

Я хочу использовать, Пользователь вводит префикс группы маршрутов 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» не-объекта

...