我正在测试一个监听器以制作日志,但不知道如何获取新创建对象的 id。我使用的方法如下:
class ListenerCrud{
protected $container;
public function __construct(ContainerInterface $container)
{
$this->container = $container;
}
public function onFlush(onFlushEventArgs $eventArgs)
{
$em = $eventArgs->getEntityManager();
$uow = $em->getUnitOfWork();
foreach ($uow->getScheduledEntityInsertions() AS $entity) {
if (!$entity instanceof Modificacion) {
$modificacion = new Modificacion();
$modificacion->setFechamod(new \DateTime('now'));
$className = join('', array_slice(explode('\\', get_class($entity)), -1));
$modificacion->setEntidad($className);
$modificacion->setTipo('Inserción');
$modificacion->setIdentificador($entity->getId()); //errorrrrrrrr
$securityContext = $this->container->get('security.context');
$modificacion->setEmpleado($securityContext->getToken()->getUser());
$modificacion->setInfo('');
$em->persist($modificacion);
$classMetadata = $em->getClassMetadata(get_class($modificacion));
$uow->computeChangeSet($classMetadata, $modificacion);
}
}
}
}
我无法访问新创建对象的 id。有人可以帮助我吗?非常感谢您。