我在我的作曲家中使用了流明中的Tymon's智威湯遜版本>"tymon/jwt-auth": "^[email protected]"
。Laravel /流明Tymon智威湯遜嘗試參數
如何在attempt
上傳遞參數,但實際上不會將它用於sql查詢?
目前,我能夠通過用戶名和密碼進行過濾和將返回令牌:
LoginController.php
$token = $jwt->attempt([
'username' => $request->get('username'),
'password' => md5($request->get('password'))
]);
但因爲我使用的每個站點多個數據庫,我希望應用程序確定它正在使用的site_code,並根據給定的site_code設置數據庫。
例子:
如果我使用的站點A,它應該使用database_a
,如果站點B則database_b
等等。目前,我可以手動設置在User
型號上使用的數據庫連接和表格。
實施例:
user.php的
public function __construct()
{
$this->setConnection('database_a');
$this->setTable('users');
}
但是,由於應用程序處理的不同位點,其通過上柱(除了用戶名和密碼)的site_code
並且確定關於使用的數據庫基site_code
。
我怎樣才能設置數據庫連接和表基地給出的網站代碼?
我想什麼是轉嫁attempt
這樣的站點代碼:
$token = $jwt->attempt([
'username' => $request->get('username'),
'password' => md5($request->get('password')),
'siteCode => $request->get('siteCode')
]);
所以我可以做的,像這樣的User
型號:
public function __construct()
{
switch($this->siteCode) {
case 'A':
$this->setConnection('database_a');
break;
default:
$this->setConnection('database_b');
}
$this->setTable('users');
}
但正在發生的事情是,它實際上使用在sql的attempt
方法上傳遞的參數。所以,它給了我這樣的錯誤:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'siteCode' in 'where clause' (SQL: select * from
用戶where
用戶名= test and password = test and
SITECODE = A limit 1)
有沒有一種辦法讓siteCode
請求,並把它傳遞到User
模型來確定數據庫連接,但不使用它爲SQL查詢?