2011-11-29 52 views
6

我无法让onDelete在Doctrine2中工作(使用YAML映射)。使用onDelete与Doctrine 2

我想这种关系在我Product类:

oneToOne: 
    category: 
     targetEntity: Category 
     onDelete: CASCADE 

但是,这并不工作..

编辑:

我的ON DELETE: CASCADE手动设置数据库

导入YAML映射doctrine:mapping:import,

清空数据库

doctrine:schema:update架构更新,并得到外键没有ON DELETE ..所以看起来甚至学说不知道如何做到这一点笑..

回答

19

好,知道了!我不得不使用onDeletejoinColumn

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

的onUpdate不再支持。 – hardik

5

这是使用onDeletejoinTable方式:

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