Coldfusion cfwheels-删除具有多级嵌套属性的记录

Coldfusion cfwheels-删除具有多级嵌套属性的记录,coldfusion,cfwheels,Coldfusion,Cfwheels,我有一个有嵌套属性的模型,它有更多的嵌套属性 比如说房子有很多宠物有很多腿 当只有一个级别时,它很容易工作,但是有两个级别时,我在删除pets时遇到了一个错误,因为petsID是legs表中的外键,而cfwheels不会先删除它。我知道我可以用一个额外的命令自己删除,但我想知道是否有一个设置我错过了,允许这种删除您是否尝试在关联定义上使用dependent参数 // In `House.cfc` hasMany(name="pets", dependent="delete"); // In `

我有一个有嵌套属性的模型,它有更多的嵌套属性

比如说
房子
有很多
宠物
有很多


当只有一个级别时,它很容易工作,但是有两个级别时,我在删除
pets
时遇到了一个错误,因为
petsID
是legs表中的外键,而cfwheels不会先删除它。我知道我可以用一个额外的命令自己删除,但我想知道是否有一个设置我错过了,允许这种删除

您是否尝试在关联定义上使用
dependent
参数

// In `House.cfc`
hasMany(name="pets", dependent="delete");

// In `Pet.cfc`
hasMany(name="legs", dependent="delete");
当你调用
house.delete()
时,它应该删除所有相关的宠物,然后也会删除所有相关的腿


请参阅和。

是否尝试在关联定义上使用
dependent
参数

// In `House.cfc`
hasMany(name="pets", dependent="delete");

// In `Pet.cfc`
hasMany(name="legs", dependent="delete");
当你调用
house.delete()
时,它应该删除所有相关的宠物,然后也会删除所有相关的腿


如果不需要为任何回调或依赖项实例化
Leg
对象,可以在
legs
关联中将
dependent
更改为
deleteAll
。不过,您需要将
pets
关联保持在
delete
位置,因为它需要实例化这些对象以运行
delete
依赖项。希望这有意义!谢谢克里斯,我现在明白我错在哪里了。我在旁注中使用了
deleteAll
而不是
delete
,如果您不需要为任何回调或依赖项实例化
Leg
对象,可以将
dependent
更改为
deleteAll
关联上的
deleteAll
。不过,您需要将
pets
关联保持在
delete
位置,因为它需要实例化这些对象以运行
delete
依赖项。希望这有意义!谢谢克里斯,我现在明白我错在哪里了。我使用的是
deleteAll
而不是
delete