【发布时间】:2023-03-13 17:35:01
【问题描述】:
我有一个导航栏,我不想将每个链接都显示给所有用户,有些链接仅供管理员使用。
在我的 navbar.blade 中,我得到了这个 if 语句:
@if(Auth::user()->priveleges->admin)
<li><a href="{{ url('/priveleges/create') }}">Priveleges</a></li>
@endif
privileges 是一个与我的用户表相关的表,其中有一行是 admin(boolean)
使用该代码我得到一个错误:尝试获取非对象的属性
我的用户模型中还有一个函数,我现在将它用于中间件来检查用户是否是管理员。这部分虽然有效
public function isAAdmin()
{
if(Auth::user()->priveleges){
if(Auth::user()->priveleges->admin === 1){
return true;
}
}
return false;
}
我也尝试在导航栏中调用该函数,但不起作用。
希望有人能帮忙
【问题讨论】:
-
很难确定到底是什么问题,但我会研究调试
Auth::user()实际返回的内容,然后是Auth::user()->priviledges等等。我怀疑其中一个值不是您所期望的。