IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Doctrine2 PHP Discussion :

Integrity constraint violation entre 2 entités


Sujet :

Doctrine2 PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2003
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 125
    Points : 55
    Points
    55
    Par défaut Integrity constraint violation entre 2 entités
    Voici les entités (parties concernant le problème) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     /**
     * Criterion
     *
     * @ORM\Table(name="innova_stepcondition_criterion")
     * @ORM\Entity(repositoryClass="Innova\PathBundle\Repository\CriterionRepository")
     */
    class Criterion implements \JsonSerializable
    {
        /**
         * Criteriagroup
         * @var \Innova\PathBundle\Entity\Criteriagroup
         *
         * @ORM\ManyToOne(targetEntity="Innova\PathBundle\Entity\Criteriagroup", inversedBy="criteria", cascade={"persist"})
         */
        protected $criteriagroup;
    }
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    /**
     * Criteriagroup
     *
     * @ORM\Table(name="innova_stepcondition_criteriagroup")
     * @ORM\Entity(repositoryClass="Innova\PathBundle\Repository\CriteriagroupRepository")
     */
    class Criteriagroup implements \JsonSerializable
    {
        /**
         * Criteria linked to the criteriagroup
         * @var \Doctrine\Common\Collections\ArrayCollection
         *
         * @ORM\OneToMany(targetEntity="Innova\PathBundle\Entity\Criterion", mappedBy="criteriagroup", indexBy="id", cascade={"persist", "remove"})
         */
        protected $criteria;
    }
    Quand j'essaie de supprimer un criteriagroup, je souhaite que les criterion associés soient supprimés aussi. j'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     An exception occurred while executing 'DELETE FROM innova_stepcondition_criteriagroup WHERE id = ?' with params [1]: SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`claroline_path`.`innova_stepcondition_criteriagroup`, CONSTRAINT `FK_F33A94EA727ACA70` FOREIGN KEY (`parent_id`) REFERENCES `innova_stepcondition_criteriagroup` (`id`))
    j'ai lu dans plusieurs post qu'il faut ajouter onDelete="SET NULL" coté ManyToOne side, ce que j'ai testé. But j'ai toujours l'erreur.

    j'ai testé

    Quel pourrait être le problème (la solution) ?

    Evidemment je fais un doctrine:schema:update --force après chaque modification
    merci d'avance

  2. #2
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    As-tu essayé l'annotation orphanRemoval ?

    http://doctrine-orm.readthedocs.org/...orphan-removal

    Dans ton cas je présume que ça donnerait quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    /** @OneToMany(targetEntity="Innova\PathBundle\Entity\Criterion", mappedBy="criteriagroup", indexBy="id", cascade={"persist", "remove"}, orphanRemoval=true) */
    protected $criteria;

Discussions similaires

  1. Réponses: 5
    Dernier message: 14/01/2013, 05h03
  2. Réponses: 7
    Dernier message: 29/11/2010, 17h34
  3. Réponses: 1
    Dernier message: 26/11/2010, 11h34
  4. [1.x] data-load après datadump : Integrity constraint violation
    Par rastaferraille dans le forum Symfony
    Réponses: 8
    Dernier message: 07/05/2010, 11h09
  5. [table corrompue] integrity constraints violation
    Par if_zen dans le forum Requêtes
    Réponses: 9
    Dernier message: 17/06/2009, 19h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo