slam4:bugreport:revisions

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
slam4:bugreport:revisions [2013/11/28 12:02] – [JoinColumn] jcheronslam4:bugreport:revisions [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 ====== DAO V 1.0.0.3 ====== ====== DAO V 1.0.0.3 ======
 +
 +<html><div class="note">Attention, les accesseurs (getters and setters) doivent être implémentés pour le bon fonctionnement des associations.</div></html>
  
 ===== ManyToOne ===== ===== ManyToOne =====
Ligne 8: Ligne 10:
 Ajout des annotations dans la classe Utilisateur : Ajout des annotations dans la classe Utilisateur :
  
-<sxh php;titleUtilisateur.php>+<sxh php;title:Utilisateur.php>
 class Utilisateur extends BaseObject{ class Utilisateur extends BaseObject{
  
Ligne 26: Ligne 28:
  
 ==== Chargement ==== ==== Chargement ====
-Les membres manyToOne sont chargées automatiquement avec les objets qui les contiennent.+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. Si un utilisateur est chargé, le groupe de l'utilisateur l'est également.
  
 <sxh php;title:Chargement d'un utilisateur> <sxh php;title:Chargement d'un utilisateur>
-$unUser=DAO::getOne("Utilisateur",1); +$aUser=DAO::getOne("Utilisateur",1); 
-echo $inUser->getGroupe();+echo $aUser->getGroupe();
 </sxh> </sxh>
  
 +===== OneToMany =====
  
 +**Exemple :**
 +Dans chaque groupe, on a plusieurs utilisateurs.
  
-===== Déclaration des ManyToMany et OneToMany =====+Ajout des annotations dans la classe Groupe :
  
-<sxh php;title:Exemple ManyTOMany>+<sxh php;title:Groupe.php>
 class Groupe extends BaseObject{ class Groupe extends BaseObject{
- private $libelle; 
  
 + private $libelle;
  /**  /**
  * @OneToMany(mappedBy="groupe",className="Utilisateur")  * @OneToMany(mappedBy="groupe",className="Utilisateur")
  */  */
  private $utilisateurs;  private $utilisateurs;
 +</sxh>
 +
 +  * **mappedBy** : fait référence au membre groupe de la classe utilisateur
 +  * **className** : Classe du membre associé
 +
 +==== Chargement ====
 +Les membres **oneToMany** ne sont 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 :
 +
 +<sxh php;title:Chargement d'un groupe et de ses utilisateurs>
 +$aGroupe=DAO::getOne("Groupe",1);
 +DAO::getOneToMany($aGroupe,"utilisateurs");
 +var_dump($aGroupe->getUtilisateurs());
 +</sxh>
 +===== Déclaration des ManyToMany=====
 +
 +
 +**Exemple :** Les groupes disposent de droits sur les modules.\\
 +Un groupe aura donc une collection de modules représentant ses droits.
 +
 +<sxh php;title:Exemple ManyTOMany>
 +class Groupe extends BaseObject{
 + ...
   
  /**  /**
Ligne 53: Ligne 81:
  private $modules;  private $modules;
 } }
 +</sxh>
 +
 +  * **targetEntity** : Classe métier des objets de la collection cible
 +  * **inversedBy** : nom du membre collection dans la classe targetEntity
 +
 +==== JoinTable ====
 +  * name : nom de la table association correspondant à la CIM.
 +
 +==== Chargement ====
 +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 :
 +
 +<sxh php;title:Chargement d'un groupe et de ses modules>
 +$aGroupe=DAO::getOne("Groupe",1);
 +DAO::getManyToMany($aGroupe,"modules");
 +var_dump($aGroupe->getModules());
 </sxh> </sxh>
  • slam4/bugreport/revisions.1385636536.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)