'boolean', 'last_used_at' => 'datetime', ]; // Automatic encryption when setting public function setApiKeyAttribute($value): void { $this->attributes['api_key'] = Crypt::encryptString($value); } // Automatic decryption when getting public function getApiKeyAttribute($value): string { return Crypt::decryptString($value); } public function user(): BelongsTo { return $this->belongsTo(User::class); } public function markAsUsed(): void { $this->update(['last_used_at' => now()]); } }