私の問題を動作しないカスケード:uは私が行うことができ、すべて試した見ることができるようにSymfony3 - ドクトリンにおける関係 - - OneToManyでエンティティを削除します
/**
* Course
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="AppBundle\Entity\Repository\CourseRepository")
*/
class Course
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var \Doctrine\Common\Collections\ArrayCollection()
*
* @ORM\OneToMany(targetEntity="AppBundle\Entity\TimeTableEntry", mappedBy="course", cascade={"remove"}, orphanRemoval=true)
*
*/
private $timeTableEntries;
/**
* @var boolean
*
* @ORM\Column(name="enabled", type="boolean", nullable=true)
*/
private $enabled;
と
/**
* TimeTableEntry
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="AppBundle\Entity\Repository\TimeTableEntryRepository")
*/
class TimeTableEntry
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var \Doctrine\Common\Collections\ArrayCollection()
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Course", inversedBy="timeTableEntries", cascade={"ALL"})
* @ORM\JoinColumn(name="course_id", referencedColumnName="id", nullable=true, onDelete="CASCADE")
*/
private $course;
:私は2つのエンティティを持っていますカスケード= {"ALL"}、onDelete = "CASCADE"、orphanRemoval = trueの場合
私はコースエンティティを削除したい場合は、私はにErrorMessageを得る:
SQLSTATE [23000]:整合性制約違反:1451は、親行を削除したり、 更新することはできません:外部キー制約は (
edutalk
を失敗しました。teaching_event
、CONSTRAINTFK_F2B1088B57042871
FOREIGN KEY(time_table_entry_id
)がtime_table_entry
(id
)を参照)
誰かが助けることはできますか?
エンティティだけでなく、スニペットを共有してください。 –
さて、私はそれをした;) – Slowwie