Laravel Nova показывает разные метки в зависимости от уровня пользователя

Я знаю о методе метки laravel, который можно использовать для изменения имени ресурса в nav.

Я могу, например, использовать приведенный ниже ресурс моей группы, чтобы отобразить «Группу» вместо «Группы».

public static function label() {

    return 'Group';

}

Кто-нибудь знает, как я могу определить отображаемую метку на основе чего-то вроде уровня пользователя?

то, что я хочу, это что-то похожее на это;

public static function label() {

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

        return 'Groups';

    }

    else {

        return 'Group';

    }

}

Как мне получить экземпляр пользователя, который я могу использовать внутри функции?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
251
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Что вы можете сделать, так это использовать 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. Работает удовольствие. Еще раз спасибо.

Jordan D 10.04.2019 11:47

Другие вопросы по теме