Bonjour à tous

J'ai un soucis au niveau de mon entity User qui est en OneToMany avec mon entity movies.
Quand je fait un make migration suivie de doctrine:migrations:migrate j'ai ces erreurs :

  • An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child
    row: a foreign key constraint fails (cinema.#sql-201c_87, CONSTRAINT FK_1D5EF26FA76ED395 FOREIGN KEY (user_id) REFERENCES
    user (id))

    • SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (cinema.`

      sql-201c_87, CONSTRAINTFK_1D5EF26FA76ED395FOREIGN KEY (user_id) REFERENCESuser(id`))
    • SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (cinema.`

      sql-201c_87, CONSTRAINTFK_1D5EF26FA76ED395FOREIGN KEY (user_id) REFERENCESuser(id`))

Mon entity User

 #[ORM\OneToMany(targetEntity: Movie::class, mappedBy: "user")] // Relation avec la "private $user;" de l'entity Movie
    private $movies;

    /**
     * @return Collection|Movie[]
     */
    public function getMovies(): Collection
    {
        return $this->movies;
    }

    public function addMovie(Movie $movie): self
    {
        if (!$this->movies->contains($movie)) {
            $this->movies[] = $movie;
            $movie->setUser($this);
        }

        return $this;
    }

    public function removeMovie(Movie $movie): self
    {
        if ($this->movies->removeElement($movie)) {
            // set the owning side to null (unless already changed)
            if ($movie->getUser() === $this) {
                $movie->setUser(null);
            }
        }

        return $this;
    }

Mon entity Movie.php

#[ORM\ManyToOne(targetEntity: User::class, inversedBy: "movies")] // Relation avec la "private $movies;" de l'entity User
    #[ORM\JoinColumn(nullable: false)]
    private $user;

    public function getUser(): ?User
    {
        return $this->user;
    }

    public function setUser(?User $user): self
    {
        $this->user = $user;

        return $this;
    }

Dans ma table movie j'ai bien user_id .

Voila peut etre que vous verraie le soucis , mais la je bloque .... , j'ai d"ja fait des relations avec plusieurs entity sans aucun soucis ...

Voila le github du projet : https://github.com/xavgdt66/Cin-ma/commits/main/

2 réponses


Salut
le probleme à mon avis ne se situe pas dans la conception mais au niveau des données. si tu peux vider les tables et recommencer l'operation peut etre ca marchera

Pour remédier à ce problème, tu peux peut-être passer le tableau en paramètre de ta deuxième requête.
VIKHOST