EmailChangeStatus::class, 'expires_at' => 'datetime', 'verified_at' => 'datetime', ]; } public function user(): BelongsTo { return $this->belongsTo(User::class); } public function requestedBy(): BelongsTo { return $this->belongsTo(User::class, 'requested_by_user_id'); } public function isExpired(): bool { return $this->expires_at->isPast(); } public function scopePending($query) { return $query->where('status', EmailChangeStatus::PENDING) ->where('expires_at', '>', now()); } }