SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row
Bonjour, voici rapidement mon schema.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
# TEF INSCRIPTION
inscriptiontef:
actAs:
Timestampable:
columns:
nom:
type: string(225)
prenom:
type: string(225)
datenaissance:
type: datetime
lieunaissance:
type: string(225)
...
languematernelle:
type: string(225)
relations:
buttef:
class: buttef
refClass: tefbut
foreign: inscriptiontef
#but tef
buttef:
columns:
nom: string(225)
# tef but: reuni inscriptiontef et buttef pour la relation plusieurs a plusieurs
tefbut:
columns:
inscriptiontef_id:
type: integer
primary: true
buttef_id:
type: integer
primary: true
relations:
inscriptiontef:
foreignAlias: tefbut
onDelete: cascade
buttef:
foreignAlias: tefbut
onDelete: cascade |
Bref, "buttef" comporte plusieurs "buts" préenregistrés parmi lesquels le candidat choisit en remplissant le formulaire auto généré sur la base de la table "inscriptiontef". Dans le configure dudit formulaire (inscriptiontefForm), j'ai configuré le champ correspondant comme suit:
Code:
1 2
|
'buttef_list' => new sfWidgetFormDoctrineChoice(array('multiple' => true, 'expanded' => true, 'model' => 'buttef')), |
Donc à l'affichage, le formulaire présente bien les checkbox des choix de but disponible. Le problème, c'est qu'à la soumission du formulaire, ca renvoie l'erreur suivante:
Code:
1 2
|
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`isfopnew`.`tefbut`, CONSTRAINT `tefbut_buttef_id_buttef_id` FOREIGN KEY (`buttef_id`) REFERENCES `buttef` (`id`) ON DELETE CASCADE) |
D'après les recherches que j'ai faites, le problème proviendrait du moteur de la base de donnée, mais j'ai vérifié et toutes les tables sont en InnoDB comme cela devrait être. Alors je ne sais plus quoi faire. Quelqu'un connait-il la solution à ce problème ? Merci.