尝试获取非对象的属性'user'



在我的导航栏我想允许上传链接的管理员角色和下载的用户角色我得到了这个错误…这是我的blade.php文件

@if (Route::has('register'))
@if(auth::user()->user)
<li class="nav-item">
<a class="nav-link" href="{{ route('download') }}">{{ __('download') }}</a>
</li>
@endif
@else
<li class="nav-item ">
<a  class="nav-link capital" href="{{ route('upload') }}">{{ __('upload') }}</a>

</a>

@endif
@endif

如果您的用户是guest,那么您在DB上没有记录,因此首先检查是否已通过身份验证。

改变这一行:

@if(auth::user()->user)

@if(Auth::check())

您可以使用@auth @endauth

@auth
<li class="nav-item">
<a class="nav-link" href="{{ route('download') }}">{{ __('download') }}</a>
</li>
@endauth

ref link https://laravel.com/docs/8.x/blade#authentication-directives

或者您可以使用optional全局helper

optional(Auth::user())->$anyProperty;

最新更新