Bonjour,
Je suis en train de créer un behavior Doctrine : Calendar. Il ajoute à un modèle des fonctions de calendrier qui permette de le situer dans le temps: jours, heures, recurrences... chaque enregistrement pouvant avoir plusieurs jours, heures et recurrences...
Comme chaque enregistrement peut avoir plusieurs entrées dans la calendrier, je dois générer une table supplémentaire, Calendar, avec une relation one-to-many.
J'ai réussi sur le modèle du behavior Versionable à générer automatiquement la table ainsi que les relations qui vont bien en utilisant Doctrine_Template et Doctrine_Record_Generator.
Mais tout se complique lorsque au moins 2 modèles font appel au behavior. Pour garder les relations je veux ajouter dynamiquement une colonne à la table Calendar à chaque fois qu'un modèle applique le behavior pour y stocker la clé distante.
Exemple de schéma :
Je voudrais générer une table de la forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Spectacle: actAs: [CalendarBehavior] columns: titre: string ... Solde: actAs: [CalendarBehavior] columns: boutique: string ...
Et là je n'y arrive pas. Chaque appelle au Doctrine_Template créé un champ 'xxxx_id', mais écrase par la même occasion la champ ajouté par le modèle précédent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Calendar: columns: spectacle_id: integer solde_id: integer date: date heure: time ....
Est ce que quelqu'un à une idée ? Un petit coup de main ne serait pas de refus...
Partager