FormSchema::class, 'fk' => 'form_schema_id']; } protected $fillable = [ 'form_schema_id', 'slug', 'name', 'description', 'sort_order', 'submit_independent', 'depends_on_section_id', 'required_for_schema_submit', ]; /** @var array */ protected $casts = [ 'submit_independent' => 'bool', 'required_for_schema_submit' => 'bool', 'sort_order' => 'int', ]; public function schema(): BelongsTo { return $this->belongsTo(FormSchema::class, 'form_schema_id'); } public function dependsOnSection(): BelongsTo { return $this->belongsTo(self::class, 'depends_on_section_id'); } public function fields(): HasMany { return $this->hasMany(FormField::class); } public function submissionStatuses(): HasMany { return $this->hasMany(FormSubmissionSectionStatus::class); } }