亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何徹底改變laravel中的auth表?

如何徹底改變laravel中的auth表?

PHP
暮色呼如 2023-07-08 20:41:26
我有accounts一個表,我想在其中進行身份驗證,并且我已經做到了這一點,我的問題在這里,下面的行正在工作auth()->user()->email但我想要的是下面的行,當我嘗試它時,它不起作用auth()->account()->email它返回以下錯誤:方法 Illuminate\Auth\SessionGuard::account 不存在。(查看:D:\workspace\laravel\blog\resources\views\home.blade.php)有人知道如何將函數名稱從用戶更改為自定義嗎?我真的被這個問題困擾了。
查看完整描述

2 回答

?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

方法名稱并不重要,user方法并不意味著您的身份驗證守衛會獲取 a App\User,它會獲取由該守衛驗證的實體,無論它是什么。

如果你真的想這樣做(請注意,它只不過是一個別名),你必須繼承你的會話保護并添加這個方法

public function account(){
    return $this->user();
}

但這又是一個壞主意,特別是因為你忽略了每個警衛都實現的方法。如果有一天你決定更換使用過的守衛,你的代碼也會因為同樣的原因而被破壞。


查看完整回答
反對 回復 2023-07-08
?
四季花海

TA貢獻1811條經驗 獲得超5個贊

嗯,以前從未這樣做過,但您可以轉到vendor\laravel\framework\src\Illuminate\Auth\SessionGuard.php并更改user()為所需的名稱。就我個人而言,對于測試,我會復制整個函數,更改為account()但保留,users()以防出現問題。

查看完整回答
反對 回復 2023-07-08
  • 2 回答
  • 0 關注
  • 126 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號