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.
$aUser=DAO::getOne("Utilisateur",1);
echo $aUser->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;
}