*/ protected function casts(): array { return [ 'is_required' => 'boolean', 'data_type' => PropDataType::class, ]; } /** * @param Builder $query */ public function scopeForModel(Builder $query, Model|string $model): void { $query->where('propable_type', is_string($model) ? $model : $model::class); } /** * @return HasMany */ public function options(): HasMany { return $this->hasMany(PropOption::class); } /** * @return HasMany */ public function modelValues(): HasMany { return $this->hasMany(ModelPropValue::class, 'prop_id'); } }