如何确切地使用 onDelete = "SET NULL" - 原则2



我有一个包含以下内容的类类别

/**
 * @ORMOneToMany(targetEntity="Friend", mappedBy="category")
 * @ORMOrderBy({"name" = "ASC"})
 */
protected $friends;

和一个班级朋友这个:

 /**
 * @ORMManyToOne(targetEntity="Category", inversedBy="friends")
 * @ORMJoinColumn(name="category_id", referencedColumnName="id",  onDelete="SET NULL")
 */
protected $category;

我想要的是能够删除类别,无论此类别中是否有一些朋友,如果有 - 此朋友的类别字段设置为 NULL。

我试图onDelete="CASCADE"放在 ManyToOne 注释中,然后放在 OneToMany,我尝试了上面显示的内容,我尝试在 OneToMany 注释中使用cascade={"remove"},但没有任何效果!我也找不到例子。你能帮帮我吗?

这一定是一个疯狂的答案,但您是否更新了数据库架构? onDelete="SET NULL"在数据库级别,它必须在innoDB上运行。

最新更新