Bonjour.
Désolé pour le titre mais ce que je veux faire n'est pas résumable en une ligne.
Je développe un bundle de métadonnée sous symfony2.
L'idée est d'avoir un ensemble de table qui décrit des métadonnées (clé /valeur) typé, et que ce puisse s'appliquer a toutes les tables de ma base.
Ambitieux, mais j'ai quasiment fini. Malheureusement je tombe sur un os, que je vous soumet.
J'ai créé un service et un Trait.
Ce trait est inclus dans l'entité qui doit utiliser les métadonnées.
Ce trait défini les champs metas qui est une collection.
Mon service recupere les evenements onLoad et onFlush pour charger les metadonnes de l'objet ou es enregistrer à la sauvegarde.
Et ca fonctionne.
Sauf dans 1 cas: L'objet Hote n'est pas modifé avant le persist.
Dans le cas ou dans ma base je ne souhaite modifier qu'une des métadonnée et aucun des champs de ma tabe de base, l'évenement OnFlush est lancé, mais pas moyen de récupérer les informations des entités dont on avait demandé le persist, puis que l'unitOfWork ne retourne que les scheduled insertions et Updates, Et comme il n'y a rien a faire sur l'entité haute, ca ne retourne rien.
La seule solution que je vois est de créer un champs update dans la base de donnée pour forcer l modification de l'hote, mais je n'aime pas cette solution.
Quelqu'un aurait une idée?
Merci
Partager