我要删除所有依赖的rable记录
我的协会
分支模型
var $hasMany =array(
'Dealbranch' => array(
'className' => 'Dealbranch',
'foreignKey' => 'DLB_BR_ID',
'dependent' =>true
)
);
Dealbranch 模型
var $belongsTo = array(
'Deal' => array(
'className' => 'Deal',
'foreignKey' => 'DL_ID',
'dependent' => true
),
'Branch' => array(
'className' => 'Branch',
'foreignKey' => 'DLB_BR_ID',
)
);
交易模式
var $hasMany = array(
'Dealbranch' => array(
'className' => 'Dealbranch',
'foreignKey' => 'DLB_DL_ID',
)
);
我用过的 Controller
$this->Branch->delete($id,true);
现在我正在删除 branch ,因此成功删除了依赖的 dealbranch 但没有删除任何交易记录
我想:当我删除分支时,所有依赖的 dealbranch 应该被删除并且所有依赖(依赖于 dealbranch)的交易记录应该被删除
这里 Deal 是 Dealbranch 的 child ,Dealbranch 是 branch 的 child
现在,对于一个branch,在Dealbranch中有多条记录,对于多个Dealbranch,在Deal中有一条记录
请帮帮我。我正在使用 cakephp 2
最佳答案
所有与 Branch
关联的模型记录都可以使用
$this->Branch->delete($id,true);
我想如果你想在删除分支记录时删除交易记录,那么你的模型 Branch
应该与 Deal
模型相关联。
试试这样添加
分支模型
var $hasMany =array(
'Dealbranch' => array(
'className' => 'Dealbranch',
'foreignKey' => 'DLB_BR_ID',
'dependent' =>true
),
'Deal' => array(
'className' => 'Deal',
'foreignKey' => 'your_foriegn_key',
'dependent' =>true
)
);
或者你可以这样尝试
更新:
根据您的要求,此处 Deal 是 Dealbranch 的子级,Dealbranch 是分支机构的子级,您的模型关联应该是这样的。
deal分支模型应该是这样的。
DealBranch 模型
var $belongsTo = array(
'Branch' => array(
'className' => 'Branch',
'foreignKey' => 'DLB_BR_ID',
)
);
var $hasMany = array(
'Deal' => array(
'className' => 'Deal',
'foreignKey' => 'DL_ID',
'dependent' => true
),
);
交易模式应该是这样的
交易模式
var $belongsTo = array(
'Dealbranch' => array(
'className' => 'Dealbranch',
'foreignKey' => 'DLB_DL_ID',
)
);
关于php - 在cakephp中删除多级(链删除),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18634792/