PriceType::class, 'price' => 'integer', ]; } #[Scope] protected function retail(Builder $query): void { $query->where('type', PriceType::RETAIL); } #[Scope] protected function wholesale(Builder $query): void { $query->where('type', PriceType::WHOLESALE); } public function variant(): BelongsTo { return $this->belongsTo(ProductVariant::class, 'variant_id'); } protected function typeLabel(): Attribute { return Attribute::make( get: fn () => $this->type->label(), ); } }