【问题标题】:Trying to get property of non-object [Laravel] when trying to access Auth::user()->name on view尝试访问 Auth::user()->name 时尝试获取非对象 [Laravel] 的属性
【发布时间】:2018-03-07 02:50:06
【问题描述】:

我正在尝试从视图中获取用户名:

Auth::user()->name

我得到了

Trying to get property of non-object

因为Auth::user() 为NULL。这怎么可能? laravel 生成的导航栏使用相同的,并且在那里工作。

编辑:似乎我什至无法从 Controller 获取 auth 用户。

Auth::guard('admin')->check(); //true
Auth::user(); //null

有什么想法吗?

【问题讨论】:

  • 也许你失踪了use Illuminate\Support\Facades\Auth;
  • 但是我把它放在哪里呢?因为我想从视图而不是控制器访问它。
  • 如果用户已登录,您可以从 \Request public function yourmethod(Request $request) 然后 $request->user() 获取它
  • 所有 use 语句都放在文件顶部,在您使用命名空间的每个文件中。
  • 或者你可以让它变得丑陋并做echo \Illuminate\Support\Facades\Auth::user()->name;p

标签: php laravel


【解决方案1】:

好吧,我又想通了,因为我使用了自定义守卫,所以我实际上需要使用:

Auth::guard('admin')->user()->name;

【讨论】:

    【解决方案2】:

    在尝试使用{{Auth::user()->name}} 访问视图之前,请确保您已登录。

    【讨论】:

      【解决方案3】:

      您还可以在视图中使用全局auth()

      {{auth()->user()->name}}
      

      【讨论】:

        猜你喜欢
        • 2017-08-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-20
        • 2023-02-24
        • 2013-05-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多