¿Cómo recojo la id
de la última inserción con Symfony 3?
Gracias
Respuestas
Aunque hablas de Symfony, entiendo que todo lo que tiene que ver con la base de datos lo estás haciendo con Doctrine, que es la recomendación oficial de Symfony.
Si es así, no existe esa función para obtener el último id
insertado. En realidad, no existe porque no hace falta:
- Si ibas a usar ese
id
para generar el siguienteid
sumándole1
, no hace falta que lo hagas porque Doctrine ya incrementa losid
automáticamente. - Si ibas a usar ese
id
para obtener elid
del objeto recién creado, tampoco te hace falta. Simplemente usa$tuObjeto->getId()
(o$tuObjeto->id
dependiendo de cómo crees tus entidades de Doctrine) y listo. Esto tienes que hacerlo después delpersist()
yflush()
de Doctrine.
@javiereguiluz
22 febrero 2017, 16:27
Ok gracias, si uso Doctrine, esta clase de magia del Framework es la que te puede volver loco jejeje. Un saludo.
@link4your
22 febrero 2017, 16:37
Antes he respondido un poco rápido y he dicho que Doctrine lo hace automáticamente. Eso no es correcto. En realidad, Doctrine lo hace automáticamente solo si tu se lo pides explícitamente. Para ello, hay que añadir lo siguiente en el id
de la entidad:
class MiEntidad { /** * @ORM\Column(type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; // ... }
@javiereguiluz
22 febrero 2017, 16:45