Подтвердить что ты не робот

Как точно использовать onDelete = "SET NULL" - Doctrine2

У меня есть класс Категория, содержащий это:

/**
 * @ORM\OneToMany(targetEntity="Friend", mappedBy="category")
 * @ORM\OrderBy({"name" = "ASC"})
 */
protected $friends;

и класс Друг с этим:

 /**
 * @ORM\ManyToOne(targetEntity="Category", inversedBy="friends")
 * @ORM\JoinColumn(name="category_id", referencedColumnName="id",  onDelete="SET NULL")
 */
protected $category;

Я хочу, чтобы иметь возможность удалять категории независимо от того, есть ли у вас друзья из этой категории, а если есть - в поле категории для этих друзей задано значение NULL.

Я попытался поместить onDelete="CASCADE" в аннотацию ManyToOne, затем в OneToMany, я попробовал то, что показано выше, я попытался использовать cascade={"remove"} в аннотации OneToMany, и ничего не получилось! Я тоже не мог найти пример. Не могли бы вы помочь мне?

4b9b3361

Ответ 1

Это должен быть сумасшедший ответ, но вы обновили схему базы данных? onDelete="SET NULL" находится на уровне базы данных, он должен работать на innoDB.