我在这样的Laravel 5.5控制器中获取用户详细信息......
$user = Auth::user();
但是我想检查并查看用户是否将'user_type'设置为'admin'
我知道如果我有用户信息,我可以进一步检查,但有没有办法将其合并到一个声明中?
答案 0 :(得分:3)
在用户模型中创建方法:
public function isAdmin()
{
return $this->user_type === 'admin';
}
然后在代码中的任何位置使用它:
if (auth()->user()->isAdmin())
或者每次都手动执行:
if (auth()->check() && auth()->user()->user_type === 'admin')
你甚至可以create a global helper并执行此操作:
@if (isAdmin())
答案 1 :(得分:1)
这样您就可以检索经过身份验证的用户的user_type
:
$user = Auth::user()->user_type;
答案 2 :(得分:0)
正如您所看到的here,用户的默认迁移没有user_type。因此,如果您想为用户授予某些权限,则必须先创建它。
我建议使用开箱即用的套餐。您可以(例如)使用包laravel permissions and roles (by Spatie)为您完成工作。