Différences
Ci-dessous, les différences entre deux révisions de la page.
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 11:11] – jcheron | slam4: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 ====== | ||
+ | |||
+ | < | ||
===== 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: |
class Utilisateur extends BaseObject{ | class Utilisateur extends BaseObject{ | ||
Ligne 21: | Ligne 23: | ||
</ | </ | ||
+ | ==== JoinColumn ==== | ||
+ | * **name** : nom de la clé étrangère correspondant au groupe dans l' | ||
+ | * **className** : Classe du membre associé | ||
- | ===== Déclaration des ManyToMany et OneToMany ===== | + | ==== Chargement |
+ | Les membres **manyToOne** sont chargées automatiquement avec les objets qui les contiennent. | ||
+ | Si un utilisateur est chargé, le groupe de l' | ||
- | <sxh php; | + | <sxh php;title:Chargement d'un utilisateur> |
+ | $aUser=DAO:: | ||
+ | echo $aUser-> | ||
+ | </ | ||
+ | |||
+ | ===== OneToMany ===== | ||
+ | |||
+ | **Exemple | ||
+ | Dans chaque groupe, on a plusieurs utilisateurs. | ||
+ | |||
+ | Ajout des annotations dans la classe Groupe : | ||
+ | |||
+ | <sxh php; | ||
class Groupe extends BaseObject{ | class Groupe extends BaseObject{ | ||
- | private $libelle; | ||
+ | private $libelle; | ||
/** | /** | ||
* @OneToMany(mappedBy=" | * @OneToMany(mappedBy=" | ||
*/ | */ | ||
private $utilisateurs; | private $utilisateurs; | ||
+ | </ | ||
+ | |||
+ | * **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; | ||
+ | $aGroupe=DAO:: | ||
+ | DAO:: | ||
+ | var_dump($aGroupe-> | ||
+ | </ | ||
+ | ===== 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; | ||
+ | class Groupe extends BaseObject{ | ||
+ | ... | ||
/** | /** | ||
Ligne 39: | Ligne 81: | ||
private $modules; | private $modules; | ||
} | } | ||
+ | </ | ||
+ | |||
+ | * **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; | ||
+ | $aGroupe=DAO:: | ||
+ | DAO:: | ||
+ | var_dump($aGroupe-> | ||
</ | </ |