Ceci est une ancienne révision du document !
DAO V 1.0.0.3
ManyToOne
Exemple : Chaque utilisateur a un groupe.
Ajout des annotations dans la classe Utilisateur :
class Utilisateur extends BaseObject{ private $login; private $password=null; private $mail; /** * @ManyToOne * @JoinColumn(name="idGroupe",className="Groupe",nullable=true) */ private $groupe;
JoinColumn
- name : nom de la clé étrangère correspondant au groupe dans l'utilisateur ⇒idGroupe
- className : Classe du membre associé
Chargement
Les membres manyToOne sont chargées automatiquement avec les objets qui les contiennent. Si un utilisateur est chargé, le groupe de l'utilisateur l'est également.
$unUser=DAO::getOne("Utilisateur",1); echo $inUser->getGroupe();
Déclaration des ManyToMany et OneToMany
class Groupe extends BaseObject{ private $libelle; /** * @OneToMany(mappedBy="groupe",className="Utilisateur") */ private $utilisateurs; /** * @ManyToMany(targetEntity="Module", inversedBy="groupes") * @JoinTable(name="droit") */ private $modules; }