Laravel Nova 根据用户级别显示不同的标签
Laravel Nova show different label based on user level
我知道 laravel 标签方法可用于更改导航中资源的名称。
例如,我可以在我的组资源上使用以下内容来显示 'Group' 而不是 'Groups'。
public static function label() {
return 'Group';
}
有谁知道如何定义基于用户级别等显示的标签?
我想要的是这样的东西;
public static function label() {
if($user->level == 'Admin') {
return 'Groups';
}
else {
return 'Group';
}
}
如何获取可以在函数内部使用的用户实例?
您可以做的是使用auth()->user()
来获取当前的认证级别。所以你的函数可能看起来像这样:
public static function label()
{
$user = auth()->user();
if($user->level == 'Admin') {
return 'Groups';
} else {
return 'Group';
}
}
您应该尝试查看是否存在用户未通过身份验证失败的情况。您可以通过这样的检查来解决这个问题:
if(auth()->guest()) {
return 'Group';
}
请记住,这也会更改资源页面的标题。
我知道 laravel 标签方法可用于更改导航中资源的名称。
例如,我可以在我的组资源上使用以下内容来显示 'Group' 而不是 'Groups'。
public static function label() {
return 'Group';
}
有谁知道如何定义基于用户级别等显示的标签?
我想要的是这样的东西;
public static function label() {
if($user->level == 'Admin') {
return 'Groups';
}
else {
return 'Group';
}
}
如何获取可以在函数内部使用的用户实例?
您可以做的是使用auth()->user()
来获取当前的认证级别。所以你的函数可能看起来像这样:
public static function label()
{
$user = auth()->user();
if($user->level == 'Admin') {
return 'Groups';
} else {
return 'Group';
}
}
您应该尝试查看是否存在用户未通过身份验证失败的情况。您可以通过这样的检查来解决这个问题:
if(auth()->guest()) {
return 'Group';
}
请记住,这也会更改资源页面的标题。