Laravel 5.5 - 仅获取管理员用户

时间:2018-02-16 10:08:22

标签: php laravel

我在这样的Laravel 5.5控制器中获取用户详细信息......

$user = Auth::user();

但是我想检查并查看用户是否将'user_type'设置为'admin'

我知道如果我有用户信息,我可以进一步检查,但有没有办法将其合并到一个声明中?

3 个答案:

答案 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)为您完成工作。