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:14] – [ManyToOne] 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 25: | Ligne 27: | ||
| * **className** : Classe du membre associé | * **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' | ||
| - | ===== Déclaration des ManyToMany et OneToMany ===== | + | <sxh php; |
| + | $aUser=DAO:: | ||
| + | echo $aUser-> | ||
| + | </ | ||
| - | <sxh php;title:Exemple ManyTOMany> | + | ===== OneToMany ===== |
| + | |||
| + | **Exemple :** | ||
| + | Dans chaque groupe, on a plusieurs utilisateurs. | ||
| + | |||
| + | Ajout des annotations dans la classe Groupe : | ||
| + | |||
| + | <sxh php;title:Groupe.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 43: | 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-> | ||
| </ | </ | ||