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

Laravel Nova根据用户级别显示不同的标签,laravel,laravel-nova,laravel-5.8,Laravel,Laravel Nova,Laravel 5.8,我知道可以用来更改导航中资源名称的laravel标签方法 例如,我可以在我的组资源上使用下面的来显示“组”而不是“组” public static function label() { return 'Group'; } 有人知道我如何定义基于用户级别之类的内容显示的标签吗 我想要的是这样的东西 public static function label() { if($user->level == 'Admin') { return 'Groups

我知道可以用来更改导航中资源名称的laravel标签方法

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

public static function label() {

    return 'Group';

}
有人知道我如何定义基于用户级别之类的内容显示的标签吗

我想要的是这样的东西

public static function label() {

    if($user->level == 'Admin') {

        return 'Groups';

    }

    else {

        return 'Group';

    }

}

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

您可以使用
auth()->user()
获取当前的身份验证级别。因此,您的函数可能如下所示:

公共静态函数标签()
{
$user=auth()->user();
如果($user->level=='Admin'){
返回“组”;
}否则{
返回“组”;
}
}
如果用户未经身份验证,您应该尝试查看是否存在此操作失败的情况。您可以通过如下检查来解决此问题:

if(auth()->guest()){
返回“组”;
}

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

谢谢。我不知道为什么我没有像通常在Laravel中那样使用auth()->user()。工作是一种享受。再次感谢。