親行を削除または更新できません。外部キー制約が失敗します。
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に変更されるようにすることです。私は出版を続けたいが、教授には言及しない。
Doctrineでどのようにそれを行うのかわかりません、それは可能ですか?それとも、常に関係は教師とでなければなりませんか?
次のように、エンティティPublicationの注釈にオプションonDelete="SET NULL"
を追加する必要があります。
class Publication
{
/**
* @ORM\ManyToOne(targetEntity="Teacher", inversedBy="publications")
* @ORM\JoinColumn(name="teacher_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $teacher;
}
乾杯!