php - 如何在laravel中重新加载每个页面后更新会话变量
问题描述
我正在设置一个侧边栏,该侧边栏已包含在网站的每个页面上,并且该侧边栏包含一个跨度标签,需要在每次重新加载页面时更新我在主控制器中创建了一个会话变量,这仅适用于Auth 后的第一次
控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use App\Valeur;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function __construct()
{
$this->middleware('auth');
session(['values' => Valeur::where('etat', 1)->count()]);
}
}
**现在的结果 ** 登录后我得到了预期的结果,但是如果我在数据库中进行了更改,会话变量的值不会改变
解决方案
您应该使用View Composers,它允许您检索视图的数据,无论何时渲染它们。