【问题标题】:app.blade.php layout not seeing updated user infoapp.blade.php 布局没有看到更新的用户信息
【发布时间】:2016-04-29 17:47:29
【问题描述】:

我正在使用 Laravel 5.2 构建一个网站。我有一个功能可以简单地更改用户的一个属性。它将“类型”属性从“个人”更改为“业务”。功能很简单,改变数据库。它看起来像这样:

public function addBusiness() {
    $user = Auth::user()->update([
        'type' => 'business'
    ]);

    Session::flash('msg_title', 'Awesome!');
    Session::flash('message', 'You\'ve added a business to your account');
    return redirect()->back(); 

}

如果我在正文中显示该属性,它会显示应有的业务。

但是,在标题中(位于布局 app.blade.php 文件中)它仍然显示“个人”。我做了一个测试,我在 app.blade.php 和我的 body 刀片文件中都有 {{Auth::user()->type}},它在 app.blade.php 中显示“个人”,在同一屏幕上的 body 中显示“业务”。

它甚至在注销/登录后Session::flush(); 后仍然存在,甚至从另一个浏览器登录。

【问题讨论】:

    标签: php authentication laravel-5 laravel-blade


    【解决方案1】:

    更新用户后尝试 \Auth::setUser($user)

    在 laravel/framework/src/Illuminate/Auth/Guard::setUser 中检查 def

    【讨论】:

    • 那行不通。该功能实际上是更新正确的用户。检查数据库时,值会更新。该应用程序似乎只是以某种方式记住了旧值,但只有标题(app.blade.php)而不是文件。很奇怪。
    • ... 叹息... 上面有 @if(Auth::user()='individual') 是 = 而不是 == 固定。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2021-02-18
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 2014-02-20
    • 1970-01-01
    相关资源
    最近更新 更多