You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Blade中使用Bitfumes MultiAuth Laravel包获取管理员名称报错解决

解决Laravel Blade获取当前管理员名称的问题

错误Method Illuminate\Auth\SessionGuard::admin does not exist是因为Auth facade没有admin()方法,正确的做法是指定管理员对应的guard来获取用户实例:

  1. 确认Auth配置
    先检查config/auth.php中是否配置了admin guard和对应的provider(假设你的管理员模型是App\Models\Admin):

    'guards' => [
        // ...其他guard
        'admin' => [
            'driver' => 'session',
            'provider' => 'admins',
        ],
    ],
    
    'providers' => [
        // ...其他provider
        'admins' => [
            'driver' => 'eloquent',
            'model' => App\Models\Admin::class,
        ],
    ],
    
  2. 在Blade中获取管理员名称
    配置完成后,通过指定admin guard来获取当前登录的管理员:

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

    或者使用更简洁的辅助函数:

    {{ auth()->guard('admin')->user()->name }}
    
  3. 避免未登录时的报错
    为了防止管理员未登录时出现Trying to get property 'name' of non-object错误,可以添加登录判断:

    {{ auth()->guard('admin')->check() ? auth()->guard('admin')->user()->name : '未登录' }}
    

    或者使用optional辅助函数:

    {{ optional(auth()->guard('admin')->user())->name }}
    

内容的提问来源于stack exchange,提问作者devsam247

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 05:01:01