Динамические глобальные переменные - PullRequest
0 голосов
/ 26 апреля 2019

Я новичок в веб-разработке и использую фреймворк Laravel для своего первого проекта.Я пытаюсь определить динамическую глобальную переменную.

Моя проблема заключается в следующем: я хочу настроить два типа пользователей приложения.Тот, который привязан к определенной ветке, а второй, кто выберет ветку.Я добавил столбец branch_id в свою таблицу пользователей, и он работает правильно.Ноль в этом столбце означает, что пользователь выберет свою ветку после входа в систему.Я хочу сохранить branch_id в глобальной переменной, к которой можно получить доступ везде (контроллеры, представления и т. Д.).Я пытался использовать Config, но новое значение доступно только в текущем блоке кода.

{{Config :: set ('pubvar.lbranch', 'Testing')}}}

{{config ('pubvar.lbranch')}}}

Мне нужна помощь по этому вопросу в простой возможной форме.Пример кода будет высоко оценен.

Ответы [ 2 ]

0 голосов
/ 26 апреля 2019

Поскольку переменная зависит от имени пользователя, самое простое решение - использовать сеансы .Самый простой способ установить его - app/Http/Controllers/Auth/LoginController.php.Добавьте такую ​​функцию, которая переопределяет оригинал из vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php:

protected function authenticated(Request $request, $user)
{
    session('pubvar.lbranch','Testing');
}

В любом месте вашего кода, контроллеров, представлений и даже моделей просто вызовите:

$branch = session('pubvar.lbranch');

или представлений

{{ session('pubvar.lbranch') }}

Если значение отсутствует, вызов помощника session() приведет к null.

0 голосов
/ 26 апреля 2019

Композитор Laravel View может вам помочь.
Вы должны добавить этот код в ваше приложение / Providers / AppServiceProvider.php.

view()->composer(['lbranch'], function($view) {
        $branch_id = auth()->user()->branch_id;
        $view->with([
            'brach_id' => $branch_id
        ]);
    });

или вы можете просто использовать:

{{ auth()->user()->branch_id }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...