Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

Employeeship.php 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace App\Models;
  3. use App\Models\Common\Contact;
  4. use App\Models\Core\Department;
  5. use Illuminate\Database\Eloquent\Relations\{BelongsTo, HasMany};
  6. use Wallo\FilamentCompanies\{Employeeship as FilamentCompaniesEmployeeship, FilamentCompanies};
  7. class Employeeship extends FilamentCompaniesEmployeeship
  8. {
  9. /**
  10. * Indicates if the IDs are auto-incrementing.
  11. *
  12. * @var bool
  13. */
  14. public $incrementing = true;
  15. protected $fillable = [
  16. 'company_id',
  17. 'user_id',
  18. 'contact_id',
  19. 'role',
  20. 'employment_type',
  21. 'hire_date',
  22. 'start_date',
  23. 'department_id',
  24. 'job_title',
  25. 'photo',
  26. 'date_of_birth',
  27. 'gender',
  28. 'marital_status',
  29. 'nationality',
  30. 'compensation_amount',
  31. 'compensation_type',
  32. 'compensation_frequency',
  33. 'bank_account_number',
  34. 'education_level',
  35. 'field_of_study',
  36. 'school_name',
  37. 'emergency_contact_name',
  38. 'emergency_contact_phone_number',
  39. 'emergency_contact_email',
  40. ];
  41. public function company(): BelongsTo
  42. {
  43. return $this->belongsTo(FilamentCompanies::companyModel(), 'company_id');
  44. }
  45. public function user(): BelongsTo
  46. {
  47. return $this->belongsTo(FilamentCompanies::userModel(), 'user_id');
  48. }
  49. public function contact(): BelongsTo
  50. {
  51. return $this->belongsTo(Contact::class, 'contact_id');
  52. }
  53. public function department(): BelongsTo
  54. {
  55. return $this->belongsTo(Department::class, 'department_id');
  56. }
  57. public function managedDepartments(): HasMany
  58. {
  59. return $this->hasMany(Department::class, 'manager_id');
  60. }
  61. public function getNameAttribute(): string
  62. {
  63. return $this->user->name;
  64. }
  65. }