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