34

私はこれを含むクラスカテゴリを持っています:

/**
 * @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;

私が欲しいのは、このカテゴリに友達がいるかどうかに関係なく、カテゴリを削除できるようにすることです。友達がいる場合は、この友達のカテゴリフィールドをNULLに設定します。

ManyToOneアノテーションを付けてから、OneToManyに入れてみましonDelete="CASCADE"た。上に示したものを試しcascade={"remove"}、OneToManyアノテーションで使用してみましたが、何も機能しませんでした。例も見つかりませんでした。手伝っていただけませんか?

4

1 に答える 1

53

これはおかしな答えに違いありませんが、データベーススキーマを更新しましたか?onDelete="SET NULL"データベースレベルであり、innoDBで動作する必要があります。

于 2012-09-18T10:22:43.053 に答える