update symfony2 getrepository getdoctrine force delete consultas orm doctrine

orm - symfony2 - symfony 4 database config



Problema de Doctrine: no se pudo obtener el último identificador de inserción (3)

Cuando intento guardar datos en mi modelo, Doctrine arroja esta excepción:

Message: Couldn''t get last insert identifier.

Mi código de configuración de la tabla es:

$this->hasColumn(''id'', ''integer'', 4, array( ''type'' => ''integer'', ''length'' => 4, ''fixed'' => false, ''unsigned'' => false, ''primary'' => true, ''autoincrement'' => true, ));

Por favor ayuda. Gracias.


Esto funcionó para mí:

$this->hasColumn(''cd_fabricante'', ''integer'', 4, array( ''type'' => ''integer'', ''length'' => 4, ''unsigned'' => true, ''primary'' => true, ''auto_increment'' => true, ) );

Tenía los mismos parámetros que antes, el mismo error también.

EDITAR: Recientemente encontré acerca de cómo agregar "auto_increment" a la definición de la columna PK y ahora me comporto igual que cualquier campo ID manejado por Doctrine con el nombre que elija


Para mí, el problema fue el parámetro default .

$this->hasColumn(''inscription_id'', ''integer'', 4, array( ''type'' => ''integer'', ''length'' => 4, ''fixed'' => false, ''unsigned'' => false, ''primary'' => true, // ''default'' => ''0'', !!! get "couldn''t get last inserted identifier doctrine" ''notnull'' => true, ''autoincrement'' => true, ));


Verifique que la columna de su base de datos esté configurada como auto_increment. Parece que la clase Doctrine lo está manejando como un auto_increment pero no está configurado como tal en el DB.