'integer', 'effective_at' => 'datetime', 'updated_by' => 'integer', ]; } protected static function booted(): void { self::saving(function (RiskCapVersion $m): void { if ($m->status === null || $m->status === '') { $m->status = ConfigVersionStatus::Draft->value; } }); } /** @return BelongsTo */ public function updatedByAdmin(): BelongsTo { return $this->belongsTo(AdminUser::class, 'updated_by'); } /** @return HasMany */ public function items(): HasMany { return $this->hasMany(RiskCapItem::class, 'version_id'); } public function isDraft(): bool { return $this->status === ConfigVersionStatus::Draft->value; } }