登入後如何為「auth()」函數新增值?
P粉354948724
2023-09-03 13:18:05
<p>我正在使用 Laravel 8 開發一個專案。 </p>
<p>我的 Users 表中有一些字段,例如 "us_name","us_surname"。使用者登入後,我可以透過 "auth()->user()->us_name" 等方式取得這些值。到目前為止,沒有問題。 </p>
<p>我想做的是在這裡添加一些不在我的表中的值。例如,登入後,將名字和姓氏組合起來,並新增一個名為 "us_fullname" 的新字段,並透過 "auth()->user()->us_fullname" 存取它。我該如何做到這一點? </p>
透過呼叫
auth()->user()
,您可以從預設的守衛中取得Authenticatable模型。讓我們來看看預設的config/auth.php
##使用這個預設的Laravel配置,您可以得到:
web
web
守衛提供者(提供Authenticatable
)是users
#users
提供者提供了App\Models\User::classAuthenticatable
合約然後,透過呼叫
auth()->user()
- 您將獲得App\Models\User::class的實例或null回答您的問題
您可以為User模型新增任何內容(例如
full_name
),並將其作為auth()->user()->full_name
檢索#閱讀關於存取器 - 使用它,您可以簡單地新增計算屬性: