Я знаю о методе метки 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';
}
Имейте в виду, что это также изменит заголовок страницы ресурса.
Спасибо. Я не знаю, почему я не подумал использовать auth()->user() так же, как обычно в Laravel. Работает удовольствие. Еще раз спасибо.