L3 Info : PHP et Applications Web
 
◃  Ch. 13 Symfony 7.4  ▹
 

Les associations OneToOne

  • Exemple : Association OneToOne *gère entre Diplome et Professeur
  • Entité simple : Professeur(prof_id : entier, prof_nom : chaîne, prof_prenom : chaîne, prof_tel : chaîne, prof_adresse : chaîne, prof_statut : chaîne )
  • Entité avec référence : Diplome(dip_id : entier, dip_nom : chaîne, dip_niveau : chaîne, dip_discipline : chaîne, #prof_id : entier)
  • Lors de la création de l'entité Professeur
    • la colonne prof_statut est contrainte par une énumération PHP (enum) Enum\ProfStatut
    • intéractivement avec la console on ajoute une propriété prof_statut de type enum associée à la classe Enum\ProfStatut
    • Attribut PHP produit :
      #[ORM\Column(enumType: ProfStatut::class)]
      private ?ProfStatut $prof_statut = null;
  • Lors de la Création de l'entité Diplome
    • la colonne prof_id est associé à une propriété de même nom de type OneToOne Professeur
    • Attribut PHP produit :
      #[ORM\OneToOne(cascade: ['persist', 'remove'])]
      #[ORM\JoinColumn(nullable: false)]
      private ?Professeur $prof_id = null;