'integer', 'yearly_price_cents' => 'integer', 'press_release_quota' => 'integer', 'daily_limit' => 'integer', 'is_active' => 'boolean', 'sort_order' => 'integer', 'benefits' => 'array', ]; } /** * Gepflegte Vorteilsliste als bereinigtes String-Array (leere Zeilen * entfernt). Single Source of Truth für Buchungsseite und Preise-Seite. * * @return list */ public function benefitsList(): array { return collect($this->benefits ?? []) ->map(fn ($benefit): string => trim((string) $benefit)) ->filter() ->values() ->all(); } public function scopeActive(Builder $query): Builder { return $query->where('is_active', true)->orderBy('sort_order'); } }