Используйте переменную во всем контроллере - PullRequest
1 голос
/ 10 июня 2019

У меня есть оператор if, основанный на пакете доверительных ролей, и я хочу использовать результат, чтобы префиксировать мои возвращаемые представления в laravel. Какие варианты у меня есть?

Что у меня сейчас:

public function __construct() {        
    if (Auth::user()->hasRole('administrator')) {
        $route = 'admin';
    } else if (Auth::user()->hasRole('company')) {
        $route = 'company';
    } else if (Auth::user()->hasRole('schoolowner')) {
        $route = 'school';
    }
}

public function index()
{
    return view($route.'.person.index', compact('user'))->with('status', 'No school');
}

Как я могу использовать переменную оператора if внутри возвращаемой функции представления способом laravel? Или даже использовать результат на всех контроллерах

Должен ли я использовать промежуточное ПО? Или просто путь php

Или просмотреть долю в провайдере?

1 Ответ

3 голосов
/ 10 июня 2019

создать protected $route; переменную и добавить в свой класс и используйте его с $this->route

protected $route;

public function __construct() {        
    if (Auth::user()->hasRole('administrator')) {
        $this->route = 'admin';
    } else if (Auth::user()->hasRole('company')) {
        $this->route = 'company';
    } else if (Auth::user()->hasRole('schoolowner')) {
        $this->route = 'school';
    }
}

public function index()
{
    return view($this->route.'.person.index', compact('user'))->with('status', 'No school');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...