'datetime', 'last_accessed_at' => 'datetime', ]; protected static function booted(): void { static::creating(function (PhotoShareLink $link) { if (! $link->slug) { $link->slug = static::generateSlug(); } }); } public static function generateSlug(): string { return Str::lower(Str::random(40)); } public function photo(): BelongsTo { return $this->belongsTo(Photo::class); } public function isExpired(): bool { return $this->expires_at !== null && $this->expires_at->isPast(); } }