在我的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();
现在由于某种原因,即使在执行此操作并重新加载页面之后,它仍会在更新之前显示先前的值。会话值不更新新值仅在我注销并重新登录时显示。
修改 1.我正在使用文件驱动程序
我在更新后记录了会话值并保存了新值,但在视图中没有刷新。
获取额外积分的请求是一个AJAX请求。