class Utilisateur extends Base{
private $id;
private $login;
private $mail;
private $password;
private $nom;
private $prenom;
private $tel;
private $admin;
}
|
![]() |
/**
* @Table(name="Users")
*/
class Utilisateur extends Base{
/**
* @Id
*/
private $id;
private $login="";
/**
* @Column(name=""pwd")
*/
private $password="";
private $mail="";
private $tel;
}
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;
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();
Exemple : Dans chaque groupe, on a plusieurs utilisateurs.
Ajout des annotations dans la classe Groupe :
class Groupe extends BaseObject{
private $libelle;
/**
* @OneToMany(mappedBy="groupe",className="Utilisateur")
*/
private $utilisateurs;
Les membres oneToMany ne sont pas chargés automatiquement avec les objets qui les contiennent. Il est nécessaire de le faire explicitement dans le code pour qu'ils le soient :
$aGroupe=DAO::getOne("Groupe",1);
DAO::getOneToMany($aGroupe,"utilisateurs");
var_dump($aGroupe->getUtilisateurs());
Exemple : Les groupes disposent de droits sur les modules.
Un groupe aura donc une collection de modules représentant ses droits.
class Groupe extends BaseObject{
...
/**
* @ManyToMany(targetEntity="Module", inversedBy="groupes")
* @JoinTable(name="droit")
*/
private $modules;
}
Les membres ManyToMany ne sont pas chargés automatiquement avec les objets qui les contiennent. Il est nécessaire de le faire explicitement dans le code pour qu'ils le soient :
$aGroupe=DAO::getOne("Groupe",1);
DAO::getManyToMany($aGroupe,"modules");
var_dump($aGroupe->getModules());