如何准确地使用 onDelete = “SET NULL"?- 教义2
我有一个 Category 类包含这个:
I have a class Category containing this:
/**
* @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.
What I want is to be able to delete categories no matter if there are some friends from this category, and if there are - the category field for this friends to be set to NULL.
我尝试将 onDelete="CASCADE"
放入 ManyToOne 注释,然后放入 OneToMany,我尝试了上面显示的内容,我尝试使用 cascade={"remove"}
在 OneToMany 注释中,但没有任何效果!我也找不到例子.你能帮我吗?
I tried to put onDelete="CASCADE"
to the ManyToOne annotation, then to the OneToMany, I tried what is shown above, I tried using cascade={"remove"}
in the OneToMany annotation, and nothing worked! I couldn't find a example as well. Could you please help me?
推荐答案
这一定是一个疯狂的答案,但您是否更新了数据库架构?onDelete="SET NULL"
在数据库级别,它必须在 innoDB 上工作.
This must be a crazy answer but did you update database schema? onDelete="SET NULL"
is on database level, it must work on innoDB.
相关文章