Я использую Symfony: 2.8 с пакетом доктрин: 1.5.
мое сопоставление ассоциаций доктрины - это «один-ко-многим», двунаправленный, ссылающийся на себя, Один ко многим, со ссылками на себя.
вот мой код:
/**
* @OneToMany(targetEntity = "Ranking", mappedBy = "parent")
*/
private $children;
/**
* @var Ranking
*
* @ManyToOne(targetEntity = "Ranking", inversedBy = "children")
*
* @JoinColumn(name = "parent_id", referencedColumnName = "id", onDelete = "cascade")
*/
private $parent;
когда я пытаюсь удалить строку, я получаю эту ошибку: Общая ошибка: 3008 Каскадное удаление / обновление внешнего ключа превышает максимальную глубину 15. "
Мой вопрос: есть ли способ увеличить максимальную глубину доктрины? заранее спасибо.






Нет, не можешь. На самом деле это ограничение MySQL, а не Doctrine.
https://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html
If ON UPDATE CASCADE or ON UPDATE SET NULL recurses to update the same table it has previously updated during the cascade, it acts like RESTRICT. This means that you cannot use self-referential ON UPDATE CASCADE or ON UPDATE SET NULL operations. This is to prevent infinite loops resulting from cascaded updates. A self-referential ON DELETE SET NULL, on the other hand, is possible, as is a self-referential ON DELETE CASCADE. Cascading operations may not be nested more than 15 levels deep.