У меня есть следующая сущность с этой репликацией:
/** * Acme\DemoBundle\Entity\Book * * @ORM\Table(name="book") * @ORM\Entity(repositoryClass="Acme\DemoBundle\Repository\BookRepository") * @ORM\HasLifecycleCallbacks * @UniqueEntity(fields="publickey", groups={"publickey"}) */ class P1guestlistentry { /** * @var P1guestlistentrystatistic * * @ORM\OneToOne(targetEntity="P1guestlistentrystatistic", orphanRemoval=true, cascade={"all"}, fetch="EAGER") * @ORM\JoinColumns({ * @ORM\JoinColumn(name="fkstatistic", referencedColumnName="pkId", nullable=false) * }) */ private $fkstatistic;
Когда я пытаюсь удалить объект, как здесь:
$this->getEntityManager()->getConnection()->beginTransaction(); try{ $book = $this->getEntityManager()->getRepository('AchmeDemoBundle:Book')->find(3928); $this->getEntityManager()->remove($book); $this->getEntityManager()->flush(); $this->getEntityManager()->getConnection()->commit(); }catch(Exception $e){ $this->getEntityManager()->getConnection()->rollBack(); echo $e->getMessage(); } exit;
Я могу делать все, что захочу, я получаю следующую ошибку:
Исключение произошло при выполнении команды «УДАЛИТЬ ИЗ книги WHERE pkId =?» с параметрами {"1": 3928}: SQLSTATE [23000]: нарушение ограничения целостности: 1451 Не удается удалить или обновить родительскую строку: сбой внешнего ключа завершен (
p1
.book
, CONSTRAINTFK_F51A442F78734022
ИНОСТРАННЫЙ КЛЮЧ (fkstatistic
) ССЫЛКИbookstatistic
(pkId
) )
Имеет ли кто-нибудь идею, что я делаю неправильно? Я пробовал много методов, но ничего не помогает.