Значение сеанса не обновляется в представлении - PullRequest
0 голосов
/ 27 апреля 2018

В моем приложении laravel у меня есть шаблон главного блэйда и дочерние страницы, которые расширяют этот шаблон основного блэйда.

Когда пользователь входит в систему, в шаблоне мастер-блейда я выбираю количество точек, которые есть у пользователя, сохраняет его в переменной Session и отображает его в виде, это работает:

LoginController.php

protected function authenticated(Request $request, $user)
{
   $userPoints = UserPoint::where("user_id", $user->id)->first();
   ()->put("availablePoints", $userPoints->points);
   session()->save();
}

master.blade.php:

<li class="nav-item">
   Hi, You have <span id="userPoints">{{ session()->get("availablePoints") }}</span>points
</li>

Теперь мое представление points.blade.php расширяет представление master.blade.php, в этом представлении у меня есть кнопка, позволяющая пользователю получать новые точки, в своем контроллере я добавляю к тому, что уже есть у пользователя, и пытаюсь обновить сеанс до нового значения:

$userPoints = Point::where("user_id", Auth::user()->id)->first();
$userPoints->points = ($userPoints->points + 50); 
$userPoints->expires_at = new Carbon('first day of next month');
$userPoints->save();

session()->put("availablePoints", $userPoints->points);
session()->save();

Теперь по какой-то причине даже после этого и перезагрузки страницы на нем все еще отображается предыдущее значение до того, как было выполнено обновление. Значение сеанса не обновляет новое значение, отображается только при выходе из системы и повторном входе в систему.

EDIT: 1. Я использую файл драйвер

  1. Я зарегистрировал значение сеанса после обновления, и новое значение было сохранено, однако оно не обновляется в представлении.

  2. Запрос на получение дополнительных баллов является запросом AJAX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...