Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Doctrine orm 第2条原则中的可撤销多人关系_Doctrine Orm - Fatal编程技术网

Doctrine orm 第2条原则中的可撤销多人关系

Doctrine orm 第2条原则中的可撤销多人关系,doctrine-orm,Doctrine Orm,我已经设置了一个简单的映射 manyToOne: language: nullable: true targetEntity: Language inversedBy: questions 然后生成的实体具有以下方法 public function setLanguage(\Sf2MCQ\CoreBundle\Entity\Language $language) { $this->language = $language; } 但现在

我已经设置了一个简单的映射

manyToOne:
    language:
      nullable: true
      targetEntity: Language
      inversedBy: questions
然后生成的实体具有以下方法

public function setLanguage(\Sf2MCQ\CoreBundle\Entity\Language $language)
{
    $this->language = $language;
}
但现在我的问题是,既然我做不到,怎么能取消一门语言呢
setLanguage(null)


我正在使用adminBundle,这正是他试图做的,因此我不知道是否应该重写生成的方法,或者是否缺少某些内容。

如果修改setter,使方法的参数具有默认的null值,则可以取消设置语言

public function setLanguage(\Sf2MCQ\CoreBundle\Entity\Language $language = null)
{
    $this->language = $language;
}
然后$entity->setLanguage(null)工作,并且在持久化实体后将存储null

有关允许空值的类型提示的更多信息,请参见: