我有两个实体user
和college
,它们具有双向关系这是我的User.orm.yml
manyToOne:
college:
targetEntity: AppBundleEntityCollege
inversedBy: user
这是我的College.org.ml
oneToMany:
user:
targetEntity: AppBundleEntityUser
mappedBy: college
我只想做的是,当我从数据库中删除一个大学对象时,user
表中的college_id
应该变成null
,而不是删除链接的User
对象
我已经尝试了以下解决方案,但它似乎是删除链接对象
joinColumn:
onDelete: CASCADE
如果我使用
cascade: [detach]
我得到错误
SQLSTATE[23000]:完整性约束冲突:1451无法删除或更新父行:外键约束使失败
任何朝着正确方向的努力都将不胜感激。
如果执行级联分离,则原则分离其所管理对象的链接元素。这意味着它没有以任何方式被删除,只是学说不再"看到"物体。但是您的SQL数据库仍然要注意其完整性!这就是SQL 抛出错误的原因
您只需要将列设置为null即可。我不使用yml映射,但它应该相当于@ORMJoinColumn(name="college_id", referencedColumnName="id", nullable=true)