我有3张相互依赖的牌桌。
id
在第1级有" company_id
"。
第二级有" id
"这是partner_company" partner_id
"的外键。
第3级有" id
"这是合作伙伴表(第二级)" id = 1
"。
=>现在我想添加任何具有id = 1
的用户删除公司的功能,然后删除二级表和三级公司的所有记录。
=>如果管理员从合作伙伴(第二级)删除具有partner_id = 1
的记录,则从partner_deals(第3级)删除具有{{1}}的记录。
所以任何人都可以帮我添加此功能。
由于
答案 0 :(得分:1)
您可以覆盖beforeDelete
,以便首先删除相关的记录。
在partner_company
模型中与partner
模型建立关系
public function getPartner(){
return $this->hasOne(Partner::className(), ['id' => 'company_id']);
}
public function beforeDelete() {
$this->partner->delete();
// call the parent implementation so that this event is raise properly
return parent::beforeDelete();
}
对其他两个模型partner
和partner_deals