[Doctrine] Relation many2many avec attributs dans la classe refClass
Bonjour,
j'ai 3 classes que je voudrais mettre en relation en many2many:
EtsEtab, EtsAdr et AdrAdresse.
mon fichier yaml:
Code:
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 |
Certains éléments de mon fichier Yaml ont été supprimés pour plus de clarté.
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)
Code:
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 |
Est ce que cela est possible?
merci de votre aide