2012-09-18 6 views
32

をこの:- 私はクラス<strong>カテゴリー</strong>含むを持ってDoctrine2

/** 
* @ORM\OneToMany(targetEntity="Friend", mappedBy="category") 
* @ORM\OrderBy({"name" = "ASC"}) 
*/ 
protected $friends; 

、これを持つクラス友達

/** 
* @ORM\ManyToOne(targetEntity="Category", inversedBy="friends") 
* @ORM\JoinColumn(name="category_id", referencedColumnName="id", onDelete="SET NULL") 
*/ 
protected $category; 

何Iこのカテゴリの友人がいるかどうかにかかわらずカテゴリを削除することができ、存在する場合は、この友人のカテゴリフィールドをNULLに設定する必要があります。

私は、OneToManyに、ManyToOne注釈にonDelete="CASCADE"を入れてみました、私は私がOneToMany注釈でcascade={"remove"}を使用してみました、そして何も働いていない、上記に示したもの試してみました!私は例を見つけることもできませんでした。手伝っていただけませんか?

答えて

47

これはクレイジーな回答である必要がありますが、データベーススキーマを更新しましたか? onDelete="SET NULL"はデータベースレベルであり、innoDBで動作する必要があります。

+1

あなたは天才です!どうもありがとうございます! – Faery

関連する問題