использование onDelete с доктриной 2

я не могу заставить onDelete работать в Doctrine2 (с отображением YAML).

Я пробовал это отношение в моем Product класс:

oneToOne:
    category:
      targetEntity: Category
      onDelete: CASCADE

но это не сработает..

EDIT:

Я поставил ON DELETE: CASCADE вручную в базе данных

импортировано сопоставление YAML с doctrine:mapping:import,

очистили базу данных

обновил его из схемы с doctrine:schema:update и нет ON DELETE внешний ключ.. так что, похоже, даже Доктрина не знает, как это сделать..

2 ответов


Ок, понял! Мне пришлось использовать onDelete внутри joinColumn:

oneToOne:
    category:
        targetEntity: Category
        joinColumn:
            onDelete: CASCADE

Это способ использовать onDelete на joinTable:

manyToMany:
    parameters:
        targetEntity: Fox\LandingBundle\Entity\Parameter
        cascade: ["persist","remove"]
        joinTable:
            name: subscriberBox_parameter
            joinColumns:
                subscriberBox_id:
                    referencedColumnName: id
            inverseJoinColumns:
                parameter_id:
                    referencedColumnName: id
                    onDelete: CASCADE