在Doctrine 2中可以考虑多个关系

时间:2011-06-28 08:19:01

标签: doctrine-orm

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

manyToOne:
    language:
      nullable: true
      targetEntity: Language
      inversedBy: questions

然后生成的实体具有以下方法

public function setLanguage(\Sf2MCQ\CoreBundle\Entity\Language $language)
{
    $this->language = $language;
}

但现在我的问题是如何取消一种语言,因为我无法做到 setLanguage(null)

我正在使用adminBundle,这就是他正在尝试做的事情,所以我不知道我是否应该重写生成的方法或者如果我错过了什么。

1 个答案:

答案 0 :(得分:3)

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

public function setLanguage(\Sf2MCQ\CoreBundle\Entity\Language $language = null)
{
    $this->language = $language;
}

然后$ entity-> setLanguage(null)起作用,并且在保持实体后将存储null。

有关允许空值的typehinting的更多信息,请点击此处: http://php.net/manual/en/language.oop5.typehinting.php