У меня есть таблица с именем admin
, я хочу, чтобы таблица admin
была глобально доступна после входа в панель управления. А также я хочу отобразить имя администратора, который входит на сайт.
Пробую так, но не запускается https://i.stack.imgur.com/NYTqb.png. А в блейде этот код я пробовал в блейде {{ admin()->name}}
Есть ли другой способ :(
это вспомогательная функция
helper.php (вспомогательная функция laravel)
Вам нужно проверить, вошел ли пользователь в систему, и если это так, вы можете сделать это следующим образом:
В файле блейда:
@if (Auth::check()) <--- Check if user logged in
{{Auth::user()->name}}
@endif
Но обратите внимание, что это проверяет, вошел ли пользователь в систему, но не роли/разрешения пользователя. Если вы хотите показывать только, когда пользователь является администратором, вам также необходимо проверить роли пользователей.
я знаю это, мне нужно показать имя администратора, а не имя пользователя!
Вы говорите the name of admin who's login is appear in the main website
. Что вы имеете в виду под admin name
? Там только один админ? Или пользователь связан с администратором?`
Если вы действительно хотите отображать имя администратора после входа в систему, вы можете создать и добавить функцию 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
— это столбец из таблицы пользователей.
{{ Auth::user()->admin()->name }}
Надеюсь, поможет :)
В каком файле определена ваша функция
admin
? Кроме того, пожалуйста, вставьте код вашей функции в вопрос, это поможет больше, чем ссылка на изображение какого-либо кода.