Нужно сделать, историю изменения данных и записать, как было и как стало.
Создаю слушателя
App\EventListener\ArticleEntityEventListener:
tags:
- { name: 'doctrine.orm.entity_listener', lazy: true, event: 'preUpdate', entity: 'App\Entity\Article' }
И сам обработчик
public function preUpdate(Article $article, LifecycleEventArgs $event): void
{
$em = $event->getEntityManager();
$version = $event->getEntityChangeSet()['name'];
$history = new ArticleHistory();
$history->setOld($version['0']);
$history->setNew($version['1']);
$history->setArticle($article);
$em->persist($history);
$em->flush();
}
И у меня происходит зацикливание.
Нашел решение
тут, но мне кажется, что оно не самое удачное.
И вопрос, как можно было бы сделать иначе или где у меня ошибка.