私は2つのエンティティActivityとBulleManagerを持っています。私はOneToMany - ManyToOneを使用してそれらの関係を調べます。問題は、BulleManagerエンティティの行を削除すると、アクティビティエンティティ内の関連する行も削除され、それが好きな動作ではないということです。所有サイド(BulleManager)エンティティが削除されたときに逆の側のエンティティ(アクティビティ)に "NULL"を設定するだけです。Doctrine symfony OneToMany - ManyToOne関係でエンティティを削除します
class Activities
{
/**
* @ORM\ManyToOne(targetEntity="BulleManager",
cascade={"persist"}, inversedBy="activities")
* @ORM\JoinColumn(name="bulle_manager_id",
referencedColumnName="id", nullable=true, onDelete="SET NULL")
*/
protected $bulleManager;
...
}
class BulleManager
{
/**
* @ORM\OneToMany(targetEntity="Activities",
mappedBy="bulleManager", cascade={"remove"})
*/
private $activities;
}
あなたのソリューションは大歓迎です。
闘争は、私は= BulleManagerから{「削除」}カスケードを削除すると、削除がで効果を持っていないということですBulleManagerエンティティのデータベース(行は削除されません)。 ** FYI **私はdoctrineのremove()メソッドを使用してエンティティを削除します。 – Heri
ああ、それは動作します。実際には、問題はカスケードや関係からではなく、コントローラーのコードと同じです。とにかく、ありがとうございました。 – Heri
問題ありません。ありがとう –