Wie füge ich nach der Anmeldung einen neuen Wert zur Funktion „auth()' hinzu?
P粉354948724
2023-09-03 13:18:05
<p>Ich entwickle ein Projekt mit Laravel 8. </p>
<p>Es gibt einige Felder in meiner Benutzertabelle, wie zum Beispiel „us_name“ und „us_surname“. Sobald der Benutzer angemeldet ist, kann ich diese Werte über "auth()->user()->us_name" abrufen. Bisher keine Probleme. </p>
<p>Ich möchte hier einige Werte hinzufügen, die nicht in meiner Tabelle enthalten sind. Kombinieren Sie beispielsweise nach dem Anmelden Vor- und Nachnamen, fügen Sie ein neues Feld mit dem Namen „us_fullname“ hinzu und greifen Sie über „auth()->user()->us_fullname“ darauf zu. Wie kann ich das machen? </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
检索阅读关于访问器 - 使用它,您可以简单地添加计算属性: