PlanStatus::Pending, ]; protected $casts = [ 'plan_status' => PlanStatus::class, ]; protected $fillable = [ 'name', 'plan_status', 'planable_id', 'planable_type', ]; protected static function booted(): void { static::deleting(function (Task $model) { $model->planable()->delete(); }); } public function planable(): MorphTo { return $this->morphTo(); } public function isPublished(): bool { return $this->plan_status === PlanStatus::Published; } }