类 Doctrine\ORM\Event\LifecycleEventArgs 有方法 getEntity() 用于查看 get Entity->getId(); 修改了什么对象 ID。
我使用方法 public function onFlush(OnFlushEventArgs $eventArgs) 。怎样才能看到已经插入的对象的ID呢?
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->setIdentificador($eventArgs->getEntity()->getId());//not working
$modificacion->setTipo('Inserción');
$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);
}
}
提前致谢。