Как исправить удаление моей сущности с помощью отношения? - PullRequest
0 голосов
/ 02 июля 2019

Я хочу удалить объект с внешним ключом

Атрибут onDelete = cascade не работает

Client.php


    /**
     * @var User
     *
     * @ORM\OneToOne(targetEntity="User", inversedBy="client")
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id",  onDelete="cascade")
     */
    private $user;

User.php


    /**
     * @var Client
     *
     * @ORM\OneToOne(targetEntity="Client", mappedBy="user")
     * @ORM\JoinColumn(name="client_id", referencedColumnName="id", onDelete="CASCADE")
     */
    private $client;

ClientController.php

/**
     * @Route("/clients/{id}/delete", name="client_delete")
     * @Security("has_role('ROLE_ADMIN')")
     * @Method("POST")
     */
    public function clientDeleteAction(Client $client)

        {
            $em = $this->get('doctrine')->getManager();

            $em->remove($client);

            $em->flush();

            return ($this->redirectToRoute("client_list"));
        }

Ошибка:

SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`aliance_auto`.`user`, CONSTRAINT `FK_8D93D64919EB6921` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`))
...