我已经设置了一个简单的映射。
manyToOne:
language:
nullable: true
targetEntity: Language
inversedBy: questions
然后生成的实体具有以下方法
public function setLanguage(\Sf2MCQ\CoreBundle\Entity\Language $language)
{
$this->language = $language;
}
但现在我的问题是如何取消一种语言,因为我无法做到
setLanguage(null)
?
我正在使用adminBundle,这就是他正在尝试做的事情,所以我不知道我是否应该重写生成的方法或者如果我错过了什么。
答案 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