Nic*_*ino 53 null doctrine set one-to-many
无法删除或更新父行:外键约束失败.
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;
}
Run Code Online (Sandbox Code Playgroud)
我想要的是,当你删除教师时,id_teacher被修改为NULL.我想保留出版物但不参考教授.
我不知道在Doctrine中是怎么做的,这可能吗?或者总是与老师的关系?
Dav*_*eto 163
您应该onDelete="SET NULL"在实体的注释中添加选项,如下所示:
class Publication
{
/**
* @ORM\ManyToOne(targetEntity="Teacher", inversedBy="publications")
* @ORM\JoinColumn(name="teacher_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $teacher;
}
Run Code Online (Sandbox Code Playgroud)
干杯!
对于 Symfony 6 (PHP 8)(引擎“InnoDB”)
#[ORM\JoinColumn(nullable: true, onDelete: 'SET NULL')]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36029 次 |
| 最近记录: |