Быстрый набросок
Я хочу удалить родительский объект, не удаляя его дочерние элементы, вместо этого установить для столбца, на который указывает ссылка, значение NULL
Мое программирование
Я добавил onDelete="SET NULL"
в столбец joinColumn моего дочернего объекта следующим образом:
/**
* @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"
без особого успеха. Использование сохранения все равно вызовет ошибку, а при включенном удалении просто удалит строку.
Я пока не нашел рабочего решения для этого, спасибо уже!