在刀片中获取自定义保护记录名称

Put*_*din 3 laravel-5 laravel-5.3

我正在使用 custom guard

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'user' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'admin' => [
        'driver' => 'session',
        'provider' => 'admins',
    ],

    'api' => [
        'driver' => 'token',
        'provider' => 'users',
    ],
],
Run Code Online (Sandbox Code Playgroud)

我想在刀片上获得管理员名称,所以我使用

{{ Auth::guard('admin')->name }}

但我有错误

无法访问受保护的属性 Illuminate\Auth\SessionGuard::$name

我如何在Laravel 5.3上实现这一目标

Tom*_*ler 5

您是否正在尝试获取 SessionGuard 对象的名称或使用admin警卫登录的用户的名称?

这可能是您正在寻找的:

Auth::guard('admin')->user()->name;
Run Code Online (Sandbox Code Playgroud)

请注意,如果用户已登录,这将失败,因为如果用户未登录,该user方法将返回null。以下是您检查他们是否已登录的方法:

Auth::guard('admin')->check();
Run Code Online (Sandbox Code Playgroud)