Сначала зарегистрируйте службу в качестве прослушивателя событий Doctrine:
app/config.yml
:
services:
foo.listener:
class: Vendor\FooBundle\BarClass
tags:
- { name: doctrine.event_listener, event: postPersist, method: onPostPersist }
Затем в своем классе прослушивателя определите метод onPostPersist
(или как вы его назвали)метод в конфигурации), который принимает аргумент Doctrine\ORM\Event\LifecycleEventArgs
:
public function onPostPersist(LifecycleEventArgs $eventArgs)
{
// do stuff with the entity here
}
Обратите внимание, что вы не можете передать экземпляр EntityManager в класс слушателя, потому что $ eventArgs содержит ссылку на него и делаетпоэтому сгенерирует исключение CircularReferenceException.
Документация проекта Doctrine здесь .Документация проекта Symfony здесь (устарела, но включена для справки) /