繁体   English   中英

如何删除学义odm对象中的引用

[英]how to remove references in doctrine odm object

问题是这样的,我有两个文档“学生”和“学校”,在学生中,有一个对学校的现场引用:

/**
 * @MongoDB\ReferenceOne(targetDocument="school")
 */
protected $school;

还有一个学生对象,学校领域引用的是学校对象,我想删除该引用,在odm文档的文档中说我可以做$ student-> setSchool(null),但是当我这样做时我有一个错误

可捕获的致命错误:传递给Student :: setSchool()的参数1必须是School的实例,给定null,

有人知道吗? 我是否误解了文档,或者情况有所不同? 谢谢!

因此,如我的评论所述,为了存储可为空的值,通常要求字段将null接受为值,并且还需要将传递给setter方法(如果添加)的参数接受null 正如@OP添加的那样,对于ODM文档,还需要考虑其他一些事项:

可为空 -默认情况下,如果PHP值为null,则ODM将$ unset MongoDB中的字段。 为此选项指定true,以强制ODM在数据库中存储一个空值,而不是取消设置该字段。

文档提供的报价的参考- @Field

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM