我无法让onDelete在Doctrine2中工作(使用YAML Mapping)。
我在我的Product
课程中尝试了这种关系:
oneToOne:
category:
targetEntity: Category
onDelete: CASCADE
但这不起作用..
编辑:
我已在数据库中手动设置ON DELETE: CASCADE
使用doctrine:mapping:import
,
清空数据库
使用doctrine:schema:update
从架构更新它并且在外键中没有ON DELETE
..所以看起来甚至Doctrine也不知道如何做它大声笑..
答案 0 :(得分:20)
好的,明白了!我必须在onDelete
内使用joinColumn
:
oneToOne:
category:
targetEntity: Category
joinColumn:
onDelete: CASCADE
答案 1 :(得分:5)
这是在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