Bonjour,
J'ai créé une BDD où j'ai une clé étrangère qui fait référence à l'id de la même table. Je m'explique ; j'ai une table "projects" avec :
ID ITEM PROJECT_ID
1 Mon projet 1
2 Mon autre projet 2
3 Mon autre projet encore 1

J'ai donc project_id qui fait référence à l'id finalement de la même table.

J'ai donc bêtement fait cela pour les fixtures :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
$projet1 = new Projet();
        $this->addReference("initiatives", $projet1); //on établit une référence
        $projet1->setItem('Mon projet Initiatives');
        $projet1->setProjetParent($this->getReference("initiatives")); //on va chercher la ref de lui meme
        $manager->persist($projet1);
Seulement voilà, lorsque je lance la commande pour charger mes fixtures, il me met ce message d'erreur :
SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails...

Comme si il ne captait pas la référence...

Voici ce que j'ai dans mon entité :
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
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 
 
    /**
     * @ORM\ManyToOne(targetEntity=Projet::class, inversedBy="projets")
     */
    private $projet_parent;
 
    /**
     * @ORM\OneToMany(targetEntity=Projet::class, mappedBy="projet_parent")
     */
    private $projets;
 
 
 public function __construct()
    {
        $this->projets = new ArrayCollection();
    }
 
 
  public function getProjetParent(): ?self
    {
        return $this->projet_parent;
    }
 
    public function setProjetParent(?self $projet_parent): self
    {
        $this->projet_parent = $projet_parent;
 
        return $this;
    }
 
 
 
 
    /**
     * @return Collection|self[]
     */
    public function getProjets(): Collection
    {
        return $this->projets;
    }
 
    public function addProjet(self $projet): self
    {
        if (!$this->projets->contains($projet)) {
            $this->projets[] = $projet;
            $question->setProjetParent($this);
        }
 
        return $this;
    }
 
    public function removeProjet(self $projet): self
    {
        if ($this->projets->removeElement($projet)) {
            // set the owning side to null (unless already changed)
            if ($question->getProjetParent() === $this) {
                $question->setProjetParent(null);
            }
        }
 
        return $this;
    }
Il m'a enregistré dans ma BDD la première que j'avais construire, mais dès que je veux en ajouter d'autres, il me met le message d'erreur. En gros il ne veut pas faire d'UPDATE.

Une idée pour m'aider à résoudre ce problème ???

Merci beaucoup