Bonjour,

J'ai une relation oneToMany entre une entité "Advert" et une entité "Photo" :

Dans mon entité "Avert" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
    /**
     * @ORM\OneToMany(targetEntity="App\Entity\Photo", mappedBy="advert", cascade={"persist"}, orphanRemoval=true)
     */
    private $photos;
Dans mon entité "Photo" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\Advert", inversedBy="photos")
     * @ORM\JoinColumn(name="id", referencedColumnName="id")
     */
    private $advert;
Lorsque je persiste mon entité "Avert" à laquelle sont liées plusieurs photos

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
            $manager->persist($advert);
            $manager->flush();
j'obtiens une erreur de violation de contrainte de la clé primaire de mon entité "Photo" :

An exception occurred while executing 'INSERT INTO photo (name, extension, id) VALUES (?, ?, ?)' with params ["tripick-triple-8-13l.jpg", "jpeg", 5]:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '5' for key 'PRIMARY'
J'ai vu sur le net que ce problème a plusieurs fois été abordé, mais je ne parviens pas à trouver la solution.

Quelqu'un aurait une idée?

Merci d'avance pour votre aide.