Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key

Viewed 515

In my Symfony 5 project, I am trying to delete an entity, as well as its children, but I have this error:

An exception occurred while executing 'DELETE FROM parametres_admin WHERE id = ?' with params [34]:

SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (testApp.entreprise, CONSTRAINT FK_D19FA6019935CA7 FOREIGN KEY (parametres_admin_id) REFERENCES parametres_admin (id))

However, it seems to me that I have configured my entity correctly?

I want to delete this one

Entreprise


/**
 * @ORM\Entity(repositoryClass=EntrepriseRepository::class)
 */
class Entreprise
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\OneToMany(targetEntity=User::class, mappedBy="entreprise", orphanRemoval=true)
     */
    private $users;

    /**
     * @ORM\OneToOne(targetEntity=ParametresAdmin::class, inversedBy="entreprise", cascade={"persist", "remove"})
     * @ORM\JoinColumn(nullable=true)
     */
    private $parametresAdmin;

//...

ParametresAdmin

/**
 * @ORM\Entity(repositoryClass=ParametresAdminRepository::class)
 */
class ParametresAdmin implements Serializable
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;


    /**
     * @ORM\OneToOne(targetEntity=Entreprise::class, mappedBy="parametresAdmin", cascade={"persist"})
     */
    private $entreprise;

    //...

In the Entreprise entity, I put cascade={"persist", "remove"} for parametresAdmin relation, to remove ParametresAdmin when removing Entreprise row. And in my ParametresAdmin entity, I put cascade={"persist"} for entreprise relation. Not , cascade={"persist", "remove"} to be sure you don't get any mistakes. (I put it on before, but I already had this error, so I removed it but it didn't change anything)

0 Answers
Related