P粉3511384622023-09-04 12:39:52
透過呼叫auth()->user()
,您可以從預設的守衛中取得Authenticatable模型。
讓我們來看看預設的config/auth.php
##<?php return [ 'defaults' => [ 'guard' => 'web', 'passwords' => 'users', ], 'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'api' => [ 'driver' => 'token', 'provider' => 'users', 'hash' => false, ], ], 'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\Models\User::class, ] ] ];
使用這個預設的Laravel配置,您可以得到:
web
web
守衛提供者(提供Authenticatable
)是users
#users
提供者提供了App\Models\User::classAuthenticatable
合約然後,透過呼叫auth()->user()
- 您將獲得App\Models\User::class的實例或null
您可以為User模型新增任何內容(例如full_name
),並將其作為auth()->user()->full_name
檢索
#閱讀關於存取器 - 使用它,您可以簡單地新增計算屬性:
class User extends Authenticatable { public function getFullNameAttribute() { return "{$this->first_name} {$this->last_name}"; } }