удаление внешнего ключа в symfony / doctrine - PullRequest
1 голос
/ 09 ноября 2011

Я спрашиваю, есть ли способ, чтобы при удалении родителя (PK) это передавало NULL всем зависимым дочерним элементам (всем FK), без необходимости вручную писать код для этого.
Может ли Doctrine справиться с этим сам? ..
пример:

/**
* @ORM\OneToMany(targetEntity="Frame", mappedBy="notice")
*
*/
protected $frames;

-*AND*-

/**
* @ORM\ManyToOne(targetEntity="Notice", inversedBy="frames")
* @ORM\JoinColumn(name="notice_id", referencedColumnName="id", nullable=true)
*
*/
protected $notice;

Когда я удаляю уведомление , я хочу, чтобы все кадры иметь это конкретное уведомление в качестве внешнего ключа, чтобы столбец уведомлений не был установлен или иметь значение NULL.

Есть ли способ .. ??
Если нет, каков наилучший подход для решения этой проблемы?

1 Ответ

0 голосов
/ 09 ноября 2011

попробуйте добавить в родительский класс в вашем файле schema.yml onDelete: CASCADE и заново создать базу данных из этого файла.Тогда ваше ORM будет иметь такое поведение

Удачи

...