'integer', 'expires_at' => 'datetime', 'verified_at' => 'datetime', 'created_at' => 'datetime', ]; } public function isExpired(): bool { return $this->expires_at->isPast(); } public function isUsable(): bool { return $this->verified_at === null && $this->failed_attempts < 5 && ! $this->isExpired(); } /** @return BelongsTo */ public function user(): BelongsTo { return $this->belongsTo(User::class); } }