问题是这样的,我有两个文件"学生"和#34;学校",在学生中,有一个对学校的现场参考:
/**
* @MongoDB\ReferenceOne(targetDocument="school")
*/
protected $school;
并且有一个学生对象,其中学校领域引用了一个学校对象,我想删除这个参考,在学说文档odm documentation中说我可以做$ student-> setSchool(null),但是当我这样做时出现错误
捕获致命错误:传递给Student :: setSchool()的参数1必须是School的一个实例,null给定,
任何人都有任何想法?我误解了文档还是这是另一种情况?谢谢!
答案 0 :(得分:0)
正如我的评论中所述,为了存储可以为空的值, 通常要求字段接受null作为值以及传递给setter方法的参数(如果已添加)接受null
。随着@OP的增加,对于ODM
文档,还有其他需要考虑的事项:
nullable - 默认情况下,如果PHP值为null,ODM将取消设置MongoDB中的字段。为此选项指定true以强制ODM在数据库中存储空值,而不是取消设置字段。
文档提供的引用参考 - @Field