Member-only story
Symfony. Cómo detectar cambios en una colección de una entidad
Detectar los cambios en una entidad en el evento onFlush de Doctrine
Hoy os traigo una de esas recetas que, si bien está perfectamente documentada en la web de Doctrine, dar con ella no es tan sencillo si no estás familiarizado con el concepto de UnitOfWork
y los LifeCycleEvents
.
Básicamente, de lo que trata este artículo es de cómo poder detectar cambios en un campo OneToMany
de una entidad, de modo que podamos por ejemplo loggearlos o crear otras entidades cuando se produce un cambio.
En mi caso, lo que necesitaba es saber qué entidades son añadidas y cuáles eliminadas de una colección. Por ejemplo, llevar un histórico de qué comentarios son añadidos o eliminados de un artículo:
Así que voy a contaros a continuación la forma en que lo he resuelto. ¡Espero que os sirva!