【问题标题】:how to update a session variable in after the reload of every page in laravel如何在laravel中重新加载每个页面后更新会话变量
【发布时间】:2019-05-15 20:02:08
【问题描述】:

我正在设置一个侧边栏,该侧边栏已包含在网站的每个页面上,并且该侧边栏包含一个跨度标签,需要在每次重新加载页面时进行更新 我在主控制器中创建了一个会话变量,这只是在 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()]);
    }
}

**现在的结果** 登录后我得到了预期的结果,但是如果我在数据库中进行了更改,会话变量的值不会改变

【问题讨论】:

  • 第一次运行是什么意思?预期的结果是什么,您现在得到的结果是什么?
  • 登录后我得到了预期的结果,但如果我在数据库中进行了更改,会话变量的值不会改变
  • 检查您用于下一个请求的控制器是否扩展了您的 Controller 类,如果您覆盖了构造函数,请确保您从子控制器调用 parent::__construct();
  • 是的,每个控制器都扩展了主控制器,我将检查 View Composers

标签: php laravel


【解决方案1】:

您应该使用View Composers,它允许您检索视图的数据,无论何时渲染它们。

【讨论】:

    猜你喜欢
    • 2014-02-12
    • 2016-05-12
    • 2018-06-16
    • 2019-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    相关资源
    最近更新 更多