123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Relations\HasMany;
- use Illuminate\Database\Eloquent\SoftDeletes;
- use Illuminate\Foundation\Auth\User as Authenticatable;
- use Laravel\Sanctum\HasApiTokens;
- class MemberUser extends Authenticatable
- {
- use HasApiTokens, SoftDeletes;
- protected $guarded = [];
- /**
- * 隐藏字段
- *
- * @var array
- */
- protected $hidden = [
- 'password',
- ];
- /**
- * 创建用户时创建钱包
- *
- * @return void
- */
- protected static function booted()
- {
- static::created(function ($user) {
- $user->wallet()->create([
- 'owner_type' => MemberUser::class,
- 'owner_id' => $user->id,
- ]);
- });
- }
- /**
- * 获取用户的默认地址
- */
- public function address()
- {
- return $this->hasOne(MemberAddress::class, 'user_id', 'id')->where('is_default', 1);
- }
- /**
- * 获取用户的所有地址
- */
- public function addresses(): HasMany
- {
- return $this->hasMany(MemberAddress::class, 'user_id', 'id');
- }
- /**
- * 获取用户的所有订单
- */
- public function orders(): HasMany
- {
- return $this->hasMany(Order::class, 'user_id', 'id');
- }
- }
|