¿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?Obtener la última identificación de inserción con la doctrina 2?
Respuesta
tuve que usar esto después de la descarga para conseguir la última Identificación del inserto:
$em->persist($user);
$em->flush();
$user->getId();
No puedo usarlo. Obteniendo el error Llamada al método indefinido Test \ Entity \ Test :: getId() en "Mi proyecto" –
@ noobie-php Necesitas definir un getter público para tu Id (si este es privado como debería ser) – cheesemacfly
@cheesemacfly : Ya resolví esto, este error se genera (en mi escenario) cuando no podemos Descargar() por alguna razón, una vez que Flush() se ejecuta correctamente, getID() comienza a funcionar, asumiendo que getter y setters no son un problema aquí –
Llamando al ras() puede potencialmente añadir un montón de nuevas entidades, por lo que no es realmente 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();
Usted hace necesidad de enjuagar con el fin de obtener esta identificación.
Error de sintaxis Reparado: Se ha agregado un punto y coma después de invocar $ entityManager-> flush().
Tuve que enjuagar para recuperar el valor. Persistir no fue suficiente, ya que los artículos en realidad no se escriben en la base de datos hasta que se vacían. –
Un poco tarde para responder a la pregunta. Pero,
Si se trata de una base de datos MySQL
debe $doctrine_record_object->id
trabajo si AUTO_INCREMENT
se define en la base de datos y en su definición de la tabla.
Si no se está usando, pero las entidades de SQL nativo como se muestra here entonces es posible que desee obtener el último ID insertado como se muestra a continuación:
$entityManager->getConnection()->lastInsertId()
Para bases de datos con secuencias tales como PostgreSQL favor no que pueda proporcione el nombre de la secuencia como el primer parámetro del método lastInsertId
.
$entityManager->getConnection()->lastInsertId($seqName = 'my_sequence')
Para más información eche un vistazo al código en GitHub here y here.
Esto podría no funcionar con todos los DBMS. Por ejemplo, no funciona con Postgres (debido a las secuencias) –
Awesome !! Pasé horas buscando este pequeño fragmento. – MikeGA
@ paul.ago Solo necesita saber el nombre de la secuencia, por ejemplo: 'lastInsertId ('articles_id_seq')' – ChocoDeveloper
- 1. Obtener la última inserción de identificación con SQLite.NET en C#
- 2. zend framework obtiene la última identificación de inserción de la inserción de múltiples filas usando execute
- 3. MySQL ON DUPLICATE KEY - ¿la última identificación de inserción?
- 4. PDO obtener la última identificación insertada
- 5. Doctrina Problema: No se pudo obtener identificador de la última inserción
- 6. Node + Mongoose: ¿Obtener la última identificación insertada?
- 7. Obtener la última identificación eliminada en mysql
- 8. Seleccionar la última inserción id
- 9. Obtener la identificación de una inserción en la misma declaración
- 10. Django - ID de la última inserción
- 11. Obtiene la última identificación de inserción con Oracle 11g usando JDBC
- 12. PLSQL JDBC: ¿Cómo obtener la última fila de identificación?
- 13. PHP Obtenga la última identificación de inserción de la conexión ODBC
- 14. cómo obtener la última identificación insertada en linq EF
- 15. Doctrina 2 de consultas con LIKE
- 16. SQL Server y C#: obtener la última identificación insertada
- 17. Vistas materializadas - Identificación de la última actualización
- 18. ¿Cómo sabe PDO la última identificación insertada en MySQL?
- 19. Doctrina 2, nativo de consulta
- 20. SELECCIONE la última identificación, sin INSERTAR
- 21. Entidad existe la validación de Zend Framework 2 con 2 Doctrina usando inputfilter en la entidad
- 22. ¿Cómo obtener la última identificación insertada usando la api de JS?
- 23. utilizando el método() de inserción para insertar el valor DateTime con PHP Doctrina \ DBAL 2
- 24. Doctrina 2 Generador de consultas
- 25. ¿Cuál es la mejor forma de obtener la última identificación insertada usando sqlite de Java?
- 26. PHP/MySQL Obtener valor autoincrementado después de la inserción
- 27. Autenticación Symfony 2 con (doctrina) Entidad
- 28. Obtener la última coincidencia con Boost :: Regex
- 29. problema para entender la cartografía relación en la doctrina 2
- 30. última Identificación del inserto con SQLAlchemy
intente esto, al final de su inserción devuelva la identificación ... como return $ this-> id; – Manie