2017-12-08 25 views
0

クイックスケッチ
教義onDelete外部キー制約

私のプログラミング
をNULLに参照される列を設定し、私はのjoinColumnにonDelete="SET NULL"を追加しました

/** 
* @ORM\ManyToOne(targetEntity="Backend\Modules\Ads\Domain\Ad\Ad", inversedBy="rewarded") 
* @ORM\JoinColumn(name="ad_id", referencedColumnName="id", onDelete="SET NULL") 
*/ 
private $ad; 

これは、親エンティティの関連付けです:

このような私の子エンティティ
/** 
* @ORM\OneToMany(targetEntity="Backend\Modules\Ads\Domain\Rewarded\Rewarded", mappedBy="ad") 
*/ 
private $rewarded; 

問題、それは私にこのエラーがスローされ、親の削除に

Cannot delete or update a parent row: a foreign key constraint fails 

は、私はすでに多くの成功なし"remove", "persist"を追加してみました。 persistを使用するとエラーが発生し、removeを有効にすると行が削除されます。

これまでのところ、これまでの解決策はありませんでした。ありがとうございます!

+0

schema updateコマンドを実行しましたか? –

+0

はい、私は、データベース内での削除= SET NULLとの関係が存在します。 –

答えて

0

解決策を見つけました。 NULLを設定したいと思っていた私のエンティティは、削除しているエンティティに依存していた別のエンティティに依存していました。上記で使用した方法は、必要に応じてどこにでも実装すると完全に動作します。

ありがとうございました。