LeaveRequestStatus::class, 'start_date' => 'date:Y-m-d', 'end_date' => 'date:Y-m-d', 'total_days' => 'integer', 'verified_at' => 'datetime', ]; } #[Scope] protected function approved(Builder $query): void { $query->where('status', LeaveRequestStatus::APPROVED); } #[Scope] protected function cancelled(Builder $query): void { $query->where('status', LeaveRequestStatus::CANCELLED); } #[Scope] protected function pending(Builder $query): void { $query->where('status', LeaveRequestStatus::PENDING); } #[Scope] protected function rejected(Builder $query): void { $query->where('status', LeaveRequestStatus::REJECTED); } public function employee(): BelongsTo { return $this->belongsTo(Employee::class); } public function verifiedBy(): BelongsTo { return $this->belongsTo(User::class, 'verified_by_id'); } }