我的用户模型中有一个方法是:
public function hasRole($roles)
{
foreach ($roles as $role) {
if ($role === $this->role_id) {
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
我通过检查此方法返回我的应用程序正文添加一个类:
<div id="spark-app" v-cloak class="{{ ( Auth::user()->hasRole([1]) ? 'customer' : '' ) }}">
Run Code Online (Sandbox Code Playgroud)
这是正确的,但如果没有登录用户我当然会收到错误.
Call to a member function hasRole() on null
Run Code Online (Sandbox Code Playgroud)
有没有办法仍然使用这个简写语句,以及检查是否有用户?
我可以用inline if语句包装速记,但感觉很麻烦.有没有更好的方法来处理这个?
Laravel提供了一种检查用户是否已登录的方法,即Auth::check()(参见文档).
<div id="spark-app" v-cloak class="{{ ( Auth::check() && Auth::user()->hasRole([1]) ? 'customer' : '' ) }}">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
413 次 |
| 最近记录: |