IT Share you

교리 2 OneToMany Cascade SET NULL

shareyou 2021. 1. 9. 10:55
반응형

교리 2 OneToMany Cascade SET NULL


오류

상위 행을 삭제하거나 업데이트 할 수 없습니다. 외래 키 제약 조건이 실패합니다.

수업

class Teacher {

    /**
     *@ORM\OneToMany(targetEntity="publication", mappedBy="teacher")
     */
    protected $publications;
}

class Publication {

    /**
     * @ORM\ManyToOne(targetEntity="Teacher", inversedBy="publications")
     * @ORM\JoinColumn(name="teacher_id", referencedColumnName="id")
     */
    protected $teacher;
}

내가 원하는

내가 원하는 것은 선생님을 삭제할 때 id_teacher가 NULL로 수정되도록 만드는 것입니다. 나는 간행물을 유지하고 싶지만 교수님을 언급하지 않았습니다.

교리에서 어떻게 할 수 있는지 모르겠습니다. 가능합니까? 아니면 항상 교사와의 관계 여야합니까?


다음 onDelete="SET NULL"과 같이 엔티티 발행물의 주석에 옵션 추가해야합니다 .

class Publication
{
    /**
    * @ORM\ManyToOne(targetEntity="Teacher", inversedBy="publications")
    * @ORM\JoinColumn(name="teacher_id", referencedColumnName="id", onDelete="SET NULL")
    */
    protected $teacher;
}

건배!

참조 URL : https://stackoverflow.com/questions/8858645/doctrine-2-onetomany-cascade-set-null

반응형