私のsymfonyプロジェクトでは、単方向のOneToOne関係でリンクされた2つのエンティティに問題があります。私の主体は以下のとおりです:クラブと住所、クラブには住所があります。怒鳴るエンティティ宣言を参照してください。OneToOne単方向カスケード= {"persist"、 "remove"}が動作しない
クラブエンティティ
class Club{
/**
* @ORM\OneToOne(targetEntity="FFPM\MainBundle\Entity\Address", cascade={"persist", "remove"}, orphanRemoval=true)
* @ORM\JoinColumn(name="address_id", referencedColumnName="id", nullable=true)
*/
protected $address;
...
}
住所エンティティ
class Address{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
...
}
何らかの理由で、私はクラブを削除する場合に、アドレスがデータベースに残ります。私はorphanRemovalとカスケード{"remove"}で試してみましたが、私はかなり単純な間違いだと確信しても動作させることはできません。
dbスキーマを更新しましたか? (どちらか確かではありませんが、注釈を削除するにはスキーマの更新が必要ですが、正しくリコールすれば、前にもう一度thisforにぶら下がっていました)これがここに当てはまるかどうかわかりませんが、それを試してください –