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}"; } }