我正在创建一个多重身份验证系统,我试图显示一个名为“场地”的登录场地模型中包含的数据,但我似乎无法访问它,它一直在标题中抛出错误?网上没有太多有用的信息,我想知道是否有人可以伸出援手?场地.blade.php:@extends('layouts.auth') @section('content') <div class="container"> <div class="row justify-content-center"> <div class="col-md-8"> <div class="card"> <div class="card-header">Dashboard</div> {{ dd(Auth::venue()) }} <div class="card-body"> </div> </div> </div> </div> </div> @endsection登录控制器:public function venueLogin(Request $request) { $this->validate($request, [ 'email' => 'required|email', 'password' => 'required|min:6' ]); if (Auth::guard('venue')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) { return redirect()->intended('/venue'); } return back()->withInput($request->only('email', 'remember')); }守卫:'defaults' => [ 'guard' => 'web', 'passwords' => 'users',],'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'api' => [ 'driver' => 'token', 'provider' => 'users', 'hash' => false, ], 'customer' => [ 'driver' => 'session', 'provider' => 'customers', ], 'customer-api' => [ 'driver' => 'token', 'provider' => 'customers', 'hash' => false, ], 'venue' => [ 'driver' => 'session', 'provider' => 'venues', ], 'venue-api' => [ 'driver' => 'token', 'provider' => 'venues', 'hash' => false, ], ],如有任何帮助,我将不胜感激!Laravel 真的有问题:(
1 回答
侃侃无极
TA贡献2051条经验 获得超10个赞
你不能那样做。
要从您正在使用的守卫那里获取模型,您必须指定您想要工作的守卫,然后通过user()
方法检索数据
Auth::guard('venue')->user()
您可能会感到失望,因为大多数时候,当您想从只有一个守卫的系统中连接的用户那里获取信息时,您只使用Auth::user()
.
事实上,这是因为 Laravel 使用的默认保护是web
,这是大多数人用于简单登录系统的保护。所以你不需要指定guard()
,只是user()
因此你在使用时犯的错误venue()
直接认为它是通过更改配置添加到 Auth 对象的方法。但是当你使用特定的守卫时,你需要通过 Auth 对象指定你想要处理的守卫(在这种情况下venue
),然后才能调用user()
它的方法来获取用户的信息。
- 1 回答
- 0 关注
- 315 浏览
添加回答
举报
0/150
提交
取消