the_tags tag remove name mostrar get_the_tags get_the_tag_list custom all php orm doctrine lastinsertid

name - remove html tags php



Obtener la última identificación de inserción con la doctrina 2? (5)

¿Cómo puedo obtener la última identificación de inserción con doctrine 2 ORM? No encontré esto en la documentación de la doctrina, ¿es esto posible?


Llamar a flush () puede potencialmente agregar muchas entidades nuevas, por lo que realmente no existe la noción de "lastInsertId". Sin embargo, Doctrine rellenará los campos de identidad cada vez que se genere uno, por lo que acceder al campo id después de llamar al color siempre contendrá la ID de una entidad nueva "persistente".


Puede acceder a la identificación después de llamar al método de persistencia del administrador de entidades.

$widgetEntity = new WidgetEntity(); $entityManager->persist($widgetEntity); $entityManager->flush(); $widgetEntity->getId();

Necesita enjuagar para obtener esta identificación.

Corrección de error de sintaxis: se agrega un punto y coma después de invocar $ entityManager-> flush ().


Si no está utilizando entidades sino SQL nativo como se muestra here , le recomendamos que obtenga la última ID insertada como se muestra a continuación:

$entityManager->getConnection()->lastInsertId()

Para las bases de datos con secuencias como PostgreSQL tenga en cuenta que puede proporcionar el nombre de la secuencia como el primer parámetro del método lastInsertId .

$entityManager->getConnection()->lastInsertId($seqName = ''my_sequence'')

Para obtener más información, eche un vistazo al código en GitHub here y here .


Tuve que usar esto después del color para obtener la última identificación de inserción:

$em->persist($user); $em->flush(); $user->getId();


Un poco tarde para responder la pregunta. Pero,

Si es una base de datos MySQL

debería $doctrine_record_object->id funcionar si AUTO_INCREMENT está definido en la base de datos y en la definición de su tabla.