Foros del Web » Programando para Internet » PHP » Symfony »

Cannot add or update a child row: a foreign key constraint fails

Estas en el tema de Cannot add or update a child row: a foreign key constraint fails en el foro de Symfony en Foros del Web. Hola amigos, he creado las entidades de mis modelos en PHP con Doctrine2 como se indican en las especificaciones. Por ejemplo desde una Entidad "Persona" ...
  #1 (permalink)  
Antiguo 11/10/2011, 17:54
Avatar de ManDam  
Fecha de Ingreso: marzo-2007
Mensajes: 118
Antigüedad: 17 años, 8 meses
Puntos: 1
Cannot add or update a child row: a foreign key constraint fails

Hola amigos, he creado las entidades de mis modelos en PHP con Doctrine2 como se indican en las especificaciones. Por ejemplo desde una Entidad "Persona" tengo dos relaciones ManyToOne a otras dos entidades. Cuando empiezo a introducir datos en la base de datos, no tengo problemas de ningún tipo, pero, cuando desconecto de la base de datos y vuelvo a conectar o cuando pasa un tiempo... (es que no lo se seguro) una de las claves foráneas empieza a dar problemas cuando intento añadir o modificar un registro ya existente mostrándome el error: "Cannot add or update a child row: a foreign key constraint fails", mientras que la otra no da ningún problema.

No se que puede pasar están, definidas de igual manera y en la base de datos, el sql que genera es el mismo para ambas relaciones, y no, no es problema de integridad referencial porque los valores a los que hago referencia existen. La verdad, estoy un poco desesperado ya con esto porque me está retrasando muchísimo.

Muchísimas gracias.
  #2 (permalink)  
Antiguo 11/10/2011, 19:31
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Cannot add or update a child row: a foreign key constraint fails

Sin ver la metadata es difícil ayudarte, deberías postearla, y elegir doctrine como herramienta, sin tener experiencia previa, para un proyecto que tiene timing ajustado es una mala idea.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 12/10/2011, 04:11
Avatar de ManDam  
Fecha de Ingreso: marzo-2007
Mensajes: 118
Antigüedad: 17 años, 8 meses
Puntos: 1
Respuesta: Cannot add or update a child row: a foreign key constraint fails

ENTIDAD PERSONA
Cita:
/**
* @ORM\Table(name="persona")
* @ORM\Entity(repositoryClass="....\Entity\EntityRep ository\PersonaRepository");
*/
class Persona{

/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;

/**
* @ORM\ManyToOne(targetEntity="Poblacion", inversedBy="personas", cascade={"remove"})
* @ORM\JoinColumn(name="poblacion_id", referencedColumnName="id")
*/
protected $poblacion;

/**
* @ORM\ManyToOne(targetEntity="TipoVia", inversedBy="personas", cascade={"remove"})
* @ORM\JoinColumn(name="tipo_via_id", referencedColumnName="id")
*/
protected $tipoVia;

.....
}
ENTIDAD POBLACIÓN
Cita:
/**
* @ORM\Table(name="poblacion")
* @ORM\Entity
*/
class Poblacion{

/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;

/**
* @ORM\OneToMany(targetEntity="Persona", mappedBy="poblacion")
*/
protected $personas;

......
}
ENTIDAD TIPOVIA
Cita:
/**
* @ORM\Table(name="tipoVia")
* @ORM\Entity
*/
class TipoVia{

/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;

/**
* @ORM\Column(type="string", length="15")
*/
protected $name;

/**
* @ORM\OneToMany(targetEntity="Persona", mappedBy="tipoVia")
*/
protected $personas;
}
Repito, No hay ningún problema con la foreignkey de población pero si con tipoVia.


Muchas gracias!!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:33.