У меня есть класс Категория, содержащая это:
/** * @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, и ничего не получилось! Я тоже не мог найти пример. Не могли бы вы мне помочь?
Это должен быть сумасшедший ответ, но вы обновили схему базы данных? onDelete="SET NULL"
находится на уровне базы данных, он должен работать на innoDB.