2011-06-28 30 views
3

シンプルなマッピングをセットアップしました。Doctrine 2のNullable manyToOne関係

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

その後、生成されたエンティティは、以下の方法

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

を持っている。しかし、今、私の質問は、私は setLanguage(null)を行うことはできませんので、言語の設定を解除することができますどのようにでしょうか?

私はadminBundleを使用しています。これは彼が何をしようとしているのかわかりません。生成されたメソッドを書き直す必要があるか、何か不足しています。

答えて

3

メソッドの引数にデフォルトのNULL値が設定されるようにセッターを変更すると、言語の設定を解除できます。

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

関連する問題