используя onDelete с Doctrine 2 - PullRequest
       37

используя onDelete с Doctrine 2

6 голосов
/ 30 ноября 2011

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

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

oneToOne:
    category:
      targetEntity: Category
      onDelete: CASCADE

Но это не так

РЕДАКТИРОВАТЬ:

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

импортировал отображение YAML с помощью doctrine:mapping:import,

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

обновил ее из схемы с помощью doctrine:schema:update и не получил ON DELETE во внешнем ключе ... так что похоже, что даже Doctrine не знает, как это сделать lol ..

Ответы [ 2 ]

20 голосов
/ 30 ноября 2011

ОК, понял! Я должен был использовать onDelete внутри joinColumn:

oneToOne:
    category:
        targetEntity: Category
        joinColumn:
            onDelete: CASCADE
6 голосов
/ 19 октября 2013

Это способ использования 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
...