RegistrationFieldType::class, 'options' => 'array', 'is_required' => 'boolean', 'is_portal_visible' => 'boolean', 'is_admin_only' => 'boolean', 'is_filterable' => 'boolean', 'sort_order' => 'integer', ]; } public function event(): BelongsTo { return $this->belongsTo(Event::class); } public function personFieldValues(): HasMany { return $this->hasMany(PersonFieldValue::class, 'registration_form_field_id'); } public function isMultiValue(): bool { return $this->field_type->isMultiValue(); } public function scopeOrdered(Builder $query): Builder { return $query->orderBy('sort_order'); } public function scopePortalVisible(Builder $query): Builder { return $query->where('is_portal_visible', true)->where('is_admin_only', false); } }