Azienda.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Factories\HasFactory;
  4. use Illuminate\Database\Eloquent\Model;
  5. class Azienda extends Model
  6. {
  7. use HasFactory;
  8. protected $fillable = [
  9. 'ragione_sociale',
  10. 'nome_associazione',
  11. 'tipologia',
  12. 'logo',
  13. 'sede_legale_nazione',
  14. 'sede_legale_provincia',
  15. 'sede_legale_comune',
  16. 'sede_legale_indirizzo',
  17. 'sede_legale_cap',
  18. 'sede_operativa_nazione',
  19. 'sede_operativa_provincia',
  20. 'sede_operativa_comune',
  21. 'sede_operativa_indirizzo',
  22. 'sede_operativa_cap',
  23. 'same_address',
  24. 'email',
  25. 'pec',
  26. 'telefono',
  27. 'cellulare',
  28. 'partita_iva',
  29. 'codice_fiscale',
  30. 'codice_sdi',
  31. 'discipline',
  32. ];
  33. protected $casts = [
  34. 'chiusura_anno_fiscale' => 'date',
  35. 'scadenza_abbonamenti' => 'date',
  36. 'scadenza_pagamenti_uscita' => 'date',
  37. ];
  38. /**
  39. * Get the logo URL attribute.
  40. *
  41. * @return string|null
  42. */
  43. public function getLogoUrlAttribute()
  44. {
  45. if ($this->logo) {
  46. return asset('storage/' . $this->logo);
  47. }
  48. return null;
  49. }
  50. /**
  51. * Get a formatted list of discipline names.
  52. *
  53. * @return string
  54. */
  55. public function getDisciplineListAttribute()
  56. {
  57. return $this->disciplines->pluck('name')->implode(', ');
  58. }
  59. }