2017-02-20 136 views
0

我想在不同的控制器中获得相同的视图文件nav.blade.php,但为管理员和不同的用户获取不同的内容,但有一个错误。试图获得非对象Laravel 5.3的属性,nav.blade.php

error:View: /var/www/epharma/resources/views/nav.blade.php)

而且问题是这条线

线48:

@if(Auth::user()->type === 'User') 
    <div> Html for user</div> 
+0

发布您的代码,请! – sandrooco

回答

2

会发生这种情况,当有用户登录没有。你可以做这样的事情:

@if (Auth::guest()) 
    <p> Not logged in</p> 

@elseif(Auth::user()->type === 'User') 
    <p> Logged in</p> 
@endif 
1

试试这个

if(Auth::user() && Auth::user()->type === 'User') 

它不会抛出错误,如果第一个条件是假

0

的用户没有通过验证所以Auth::user()Null。你正试图得到null->id。从非对象获取id属性(null)。 您必须首先检查用户是否通过Auth::check()Auth::user() != null ..等等进行了验证。然后尝试获取用户属性。

0

已几乎回答了,但你可以做这样的以及

@if (Auth::guest()) 
    <p> Not logged in</p> 

@elseif(Auth::user()->type == 'User') 
    <p> Logged in</p> 
@endif 
相关问题