2011-11-29 24 views
6

Nie mogę uruchomić programu onDelete w Doctrine2 (z mapowaniem YAML).przy użyciu polecenia onDelete z Doctrine 2

Próbowałem tej relacji w moim Product Klasa:

oneToOne: 
    category: 
     targetEntity: Category 
     onDelete: CASCADE 

Ale to nie działa ..

EDIT:

mam ustawić ON DELETE: CASCADE ręcznie w bazie

zaimportował mapowanie YAML za pomocą doctrine:mapping:import,

opróżniane bazę

zaktualizowaną go ze schematu z doctrine:schema:update i dostał żadnej ON DELETE w kluczu obcym .. tak wygląda nawet Doctrine nie wie jak to zrobić lol ..

Odpowiedz

19

OK, rozumiem ! Musiałem użyć onDelete wewnątrz joinColumn:

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

onUpdate nie jest już obsługiwany. – hardik

5

Jest to sposób na wykorzystanie onDelete w 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 
Powiązane problemy