'array', 'approved_at' => 'datetime', 'rejected_at' => 'datetime', ]; public function approvable() { return $this->morphTo(); } public function requester() { return $this->belongsTo(User::class, 'requested_by'); } public function approver() { return $this->belongsTo(User::class, 'approved_by'); } public function rejector() { return $this->belongsTo(User::class, 'rejected_by'); } public function isPending(): bool { return $this->status === 'pending'; } }