我正在創(chuàng)建一個多重身份驗證系統(tǒng),我試圖顯示一個名為“場地”的登錄場地模型中包含的數(shù)據(jù),但我似乎無法訪問它,它一直在標(biāo)題中拋出錯誤?網(wǎng)上沒有太多有用的信息,我想知道是否有人可以伸出援手?場地.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')); }守衛(wèi):'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貢獻(xiàn)2051條經(jīng)驗 獲得超10個贊
你不能那樣做。
要從您正在使用的守衛(wèi)那里獲取模型,您必須指定您想要工作的守衛(wèi),然后通過user()
方法檢索數(shù)據(jù)
Auth::guard('venue')->user()
您可能會感到失望,因為大多數(shù)時候,當(dāng)您想從只有一個守衛(wèi)的系統(tǒng)中連接的用戶那里獲取信息時,您只使用Auth::user()
.
事實上,這是因為 Laravel 使用的默認(rèn)保護(hù)是web
,這是大多數(shù)人用于簡單登錄系統(tǒng)的保護(hù)。所以你不需要指定guard()
,只是user()
因此你在使用時犯的錯誤venue()
直接認(rèn)為它是通過更改配置添加到 Auth 對象的方法。但是當(dāng)你使用特定的守衛(wèi)時,你需要通過 Auth 對象指定你想要處理的守衛(wèi)(在這種情況下venue
),然后才能調(diào)用user()
它的方法來獲取用戶的信息。
- 1 回答
- 0 關(guān)注
- 338 瀏覽
添加回答
舉報
0/150
提交
取消