Laravel Nova根据用户级别显示不同的标签

时间:2019-04-10 09:14:48

标签: laravel laravel-nova laravel-5.8

我了解laravel标签方法,该方法可用于更改导航中资源的名称。

例如,我可以在“组”资源上使用以下内容来显示“组”而不是“组”。

server {
    server_name localhost $hostname;
    listen 80;

    access_log off;
}

有人知道如何根据用户级别定义显示的标签吗?

我想要的东西看起来像这样;

public static function label() {

    return 'Group';

}

如何获取可以在函数内使用的用户实例?

1 个答案:

答案 0 :(得分:1)

您可以做的是使用auth()->user()获得当前的认证级别。因此您的函数可能看起来像这样:

public static function label()
{
    $user = auth()->user();
    if($user->level == 'Admin') {
        return 'Groups';
    } else {
        return 'Group';
    }
}

您应该尝试查看是否存在未通过用户身份验证失败的情况。您可以通过以下检查来解决此问题:

    if(auth()->guest()) {
        return 'Group';
    }

请记住,这也会更改资源页面的标题。