Ценность сеанса не обновляется в представлении

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

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

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();

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

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

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

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

Попробуй прекратить заниматься session()->save();.

Chris Cynarski 27.04.2018 18:54

Раньше просто занимался session(["" => ""]);, не получилось

user3718908 27.04.2018 19:02

Поместите APP_DEBUG=true в ваш файл .env. Сохранение данных сеанса происходит только в случае успешного завершения действия контроллера.

Chris Cynarski 27.04.2018 19:04

APP_DEBUG уже имеет значение TRUE

user3718908 27.04.2018 19:07

Какой драйвер сеанса вы используете?

Chris Cynarski 27.04.2018 19:08

Файловый драйвер.

user3718908 27.04.2018 19:25

session("availablePoints", $userPoints->points) пробовали?

Luis felipe De jesus Munoz 27.04.2018 21:16

Еще одно, что нужно проверить. Использует ли ваш маршрут промежуточное ПО?

Chris Cynarski 30.04.2018 15:35
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
8
137
0

Другие вопросы по теме