我在Laravel 5.8]中有一个很奇怪的问题。我想与所有视图共享用户变量。
我将此添加到boot
中的AppServiceProvider.php
方法中:
Event::listen(Authenticated::class, function ($e) { view()->share('user', $e->user); });
在视图中,我有这个:
@auth('web') {{$user->name}} @endauth
User
模型具有
protected $guard = 'web';
它在大多数情况下都有效,但有时会出现此错误:
Uncaught ErrorException: Undefined variable: user in /home/forge/www.mywebsite.com/storage/framework/views/4b273b493839e5fb54c3f6a2d11d9446bee5de33.php:11
怎么可能?
我在Laravel 5.8中有一个很奇怪的问题。我想与所有视图共享用户变量。我将此添加到AppServiceProvider.php的启动方法中:Event :: listen(Authenticated :: class,function($ e)...
您可以在视图中通过auth帮助器访问经过身份验证的用户。
只需在刀片中使用全局auth()
方法即可获取经过身份验证的用户信息。
考虑将视图编辑器用于视图周围的共享变量
所有这些都是很好的答案。您也可以使用Auth门面来完成此操作。