错误
无法删除或更新父行:外键约束失败。
课程
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;
}
I want
我想要的是当你删除老师时,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;
}
此修改在表声明本身中注册。因此,您需要进行数据库迁移或架构更改才能使其生效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)