Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

error al persistir una entidad en la base de datos

12 de septiembre de 2017

Buenas tardes. Ante todo dar las gracias a todos los que participan en este foro, gracias a él he logrado solucionar muchos problemas y resolver muchas dudas. Mi problema es el siguiente. Creé un formulario para persistir una entidad en la base de datos de la manera habitual en symfony2 y todo funcionaba sin ningun problema. Posteriormente cree el sistema de seguridad (cortafuegos, usuarios a partir de proveedor de usuarios doctrine, etc.) y coloque la ruta del formulario anterior dentro del sistema de seguridad. Es decir, el usuario se loguea y una vez logueado ya tiene acceso al formulario para persistir la entidad. Pero ahora, al enviar el formulario, symfony2 me arroja el siguiente error:

An exception occurred while executing 'UPDATE usuario SET password = ? WHERE id = ?' with params [null, 2]:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'password' cannot be null

Es extraño, porque la entidad "usuario" no es la entidad que quiero persistir, y mas extraño aun es que no se que pinta ahí "UPDATE usuario". Entiendo que este error se produce porque algo estaré haciendo mal en el tema de la seguridad, pero no logro ver que puede ser, y ya empieza a dolerme la cabeza con esto. A ver si alguien me puede ayudar. Muchas gracias por adelantado.


Respuestas

#1

Parece que ya solucione el problema. En el metodo eraseCredentials() que hay que incluir en la clase "Usuario" obligado por la interfaz "UserInterface" tenía el siguiente código:

public function eraseCredentials() { $this->password = null; }

Al dejar el método en blanco, es decir:

public function eraseCredentials() {

} ya no aparece el error la entidad deseada persiste perfectamente.

@JcaidoCA

13 septiembre 2017, 17:31