Bonjour,
j'ai 3 classes que je voudrais mettre en relation en many2many:
EtsEtab, EtsAdr et AdrAdresse.
mon fichier yaml:
Certains éléments de mon fichier Yaml ont été supprimés pour plus de clarté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 AdrAdresse: columns: adr_id: notnull: true type: integer(6) primary: true adr_adresse: notnull: true type: string(50) EtsAdr: columns: adr_id: primary: true type: integer(6) ets_id: primary: true type: integer(6) ets_adr_dt_debut: notnull: true type: timestamp(7) ets_adr_dt_fin: timestamp(7) relations: Adresse: class: AdrAdresse local: adr_id foreign: adr_id foreignAlias: EtsAdrs #type: one Etab: #class: EtsEtab local: ets_id foreign: ets_id foreignAlias: EtsAdrs EtsEtab: columns: ets_id: notnull: true type: integer(6) primary: true ets_nom: notnull: true type: string(100) relations: Adresses: class: AdrAdresse refClass: EtsAdr local: ets_id foreign: adr_id type: many # ai essaye sans cet argument aussi
Je voudrais faire ma relation pour qu'un établissement puisse avoir plusieurs adresses, mais en récupérant aussi les dates qui se trouvent dans EtsAdr (ets_adr_dt_debut et ets_adr_dt_fin).
le but étant au final de récupérer dans certains cas l'adresse ("valide") dont la date du jour se trouve entre dt_début et dt_fin, dt_fin pouvant être null.
Pour se retrouver avec quelque chose du genre le code ci-dessous dans l'action (dans ce cas, pas de requête spécifique)
Est ce que cela est possible?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $ets = Doctrine::getTable('EtsEtabService')->find($request->getParameter('ets_id')); $adrs = $ets->Adresses; foreach ($adrs as $k=>$adr) { if ($adr['ets_adr_dt_fin'] == null) { $adrs->remove($k); } } //mise en template pour affichage
merci de votre aide
Partager