'date', 'end_date' => 'date', 'approved_at' => 'datetime', 'executed_at' => 'datetime', ]; protected static function booted(): void { static::creating(function (Activity $activity) { $activity->created_by ??= auth()->id(); $activity->status ??= 'draft'; }); } public function creator(): BelongsTo { return $this->belongsTo(User::class, 'created_by'); } public function approver(): BelongsTo { return $this->belongsTo(User::class, 'approved_by'); } public function participants(): BelongsToMany { return $this->belongsToMany(User::class, 'activity_member') ->withPivot('status', 'notes'); } }