我有这段代码,但是在数据库中插入对象$modificacion
时遇到了问题。
class ListenerCrud{
protected $container;
public function __construct(ContainerInterface $container)
{
$this->container = $container;
}
public function preUpdate(PreUpdateEventArgs $eventArgs){
if ($eventArgs->getEntity() instanceof Usuario) {
$em = $eventArgs->getEntityManager();
$modificacion = new Modificacion();
$modificacion->setFechamod(new \DateTime('now'));
$modificacion->setEntidad('Usuario');
$modificacion->setTipo('uupdate');
$securityContext = $this->container->get('security.context');
$modificacion->setEmpleado($securityContext->getToken()->getUser());
$modificacion->setInfo('hi');
$em->persist($modificacion);
$classMetadata = $em->getClassMetadata(get_class($modificacion));
$em->getUnitOfWork()->computeChangeSet($classMetadata, $modificacion);
}
}
}
在config.yml
中,我有:
listenercrud:
class: mio\mioBundle\ListenerCrud
arguments: [@service_container]
tags:
- { name: doctrine.event_listener, event: PreUpdate}
答案 0 :(得分:1)
YAML文件中的事件名称应为" preUpdate",而不是" PreUpdate"。
listenercrud:
class: mio\mioBundle\ListenerCrud
arguments: [@service_container]
tags:
- { name: doctrine.event_listener, event: preUpdate }