我试图通过 Auth::user() 函数获取我的用户角色关系。我以前曾这样做过,但由于某种原因它不起作用。
Auth::user()->role
这将返回尝试从非对象获取属性的错误。
在我的用户模型中我有这个:
public function role()
{
return $this->belongsTo('vendor\package\Models\Role');
}
在我的榜样中,我有:
public function user()
{
return $this->hasMany('vendor\package\Models\User');
}
当我这样做时,它会返回我的角色名称,所以我认为我的关系是正确的:
User::whereEmail('[email protected] /cdn-cgi/l/email-protection')->first()->role->name
我缺少什么?
Auth::user
当没有用户登录时可以返回非对象。您可以使用Auth::check()
为了防止这种情况发生,甚至Auth::user
itself:
if(!($user = Auth::user())) {
// No user logged in
} else {
$role = $user->role;
}
或者:
if(Auth::check()) {
$role = Auth::user()->role;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)