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

Gerardo Fernández
4 min readFeb 8, 2019

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!

Explicación del evento OnFlush de Doctrine

--

--

Gerardo Fernández
Gerardo Fernández

Written by Gerardo Fernández

Entre paseo y paseo con Simba desarrollo en Symfony y React

No responses yet