我知道laravel标签方法可用于更改nav中资源的名称。
例如,我可以在我的群组资源上使用以下内容来显示“群组”而不是“群组”。
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';
}
请记住,这也将更改资源页面的标题。