hasMany(Attendance::class); } public function attendanceLogs(): HasMany { return $this->hasMany(AttendanceLog::class); } public function department(): BelongsTo { return $this->belongsTo(Department::class)->select('id', 'parent_id', 'name'); } public function designation(): BelongsTo { return $this->belongsTo(Designation::class)->select('id', 'department_id', 'title')->with('department'); } public function salaryType(): BelongsTo { return $this->belongsTo(SalaryType::class); } public function loans(): HasMany { return $this->hasMany(Loan::class); } public function awards(): HasMany { return $this->hasMany(Award::class); } public function leaves(): HasMany { return $this->hasMany(LeaveApplication::class); } protected static function newFactory(): EmployeeFactory { return EmployeeFactory::new(); } }