Как я могу связать и получить доступ к другой таблице после входа в систему (laravel)

У меня есть таблица с именем admin, я хочу, чтобы таблица admin была глобально доступна после входа в панель управления. А также я хочу отобразить имя администратора, который входит на сайт.

Пробую так, но не запускается https://i.stack.imgur.com/NYTqb.png. А в блейде этот код я пробовал в блейде {{ admin()->name}}

Есть ли другой способ :(

В каком файле определена ваша функция admin? Кроме того, пожалуйста, вставьте код вашей функции в вопрос, это поможет больше, чем ссылка на изображение какого-либо кода.

Bogdan 07.04.2019 20:27

это вспомогательная функция

user11220087 07.04.2019 20:46

helper.php (вспомогательная функция laravel)

user11220087 07.04.2019 20:47
Стоит ли изучать 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-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
3
51
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вам нужно проверить, вошел ли пользователь в систему, и если это так, вы можете сделать это следующим образом:

В файле блейда:

@if (Auth::check())  <--- Check if user logged in
  {{Auth::user()->name}}
@endif

Но обратите внимание, что это проверяет, вошел ли пользователь в систему, но не роли/разрешения пользователя. Если вы хотите показывать только, когда пользователь является администратором, вам также необходимо проверить роли пользователей.

я знаю это, мне нужно показать имя администратора, а не имя пользователя!

user11220087 07.04.2019 20:47

Вы говорите the name of admin who's login is appear in the main website. Что вы имеете в виду под admin name? Там только один админ? Или пользователь связан с администратором?`

Harun Yilmaz 07.04.2019 20:57
Ответ принят как подходящий

Если вы действительно хотите отображать имя администратора после входа в систему, вы можете создать и добавить функцию admin внутри Приложение/User.php. Вы можете выбрать один из двух способов ниже.

(Пример 1)

public function admin()
{
    return $this->hasOne('App\Admin', 'id', 'admin_id');
}

(Пример 2)

public function admin(){
    $admin = DB::table('admins')
        ->select('name')
        ->where('admins.id', this->admin_id)
        ->first();
    return $admin;
}

Обратите внимание: $this->admin_id — это столбец из таблицы пользователей.


Then you can display the admin's name like these below:
{{ Auth::user()->admin()->name }}

Другие примеры

Надеюсь, поможет :)

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