在Cake中级联删除很容易,
比如一个产品deal有多个选项deal_options,想在删除deal的时候把关联的deal options也清除掉.
那么需要按照下面的方法来实现
1)在deal模型中定义好hasMany的关系,
'DealOption' => array(
'className' => 'DealOptionLang',
'foreignKey' => 'deal_option_id',
'dependent' => true,
),
);
2)如上设置该模型的dependent属性为true
3)在调用delete和deleteAll的时候确保cascade参数为true(默认值)
如果不这样操作,而又在数据库中设置了强制外键关联,将会出现删除失败。
regards,
iefreer