我想在删除父类别时删除所有子节点(子类别)(使用'依赖' => true)。这是简要说明 我正在使用自我链接模型。让我们考虑一下我有两张桌子
1. Categories
2. Products
其中类别是多级的。所以我在Categories表中有一个名为" parent_category_id"的列。我把自己的模型自我联系起来了,
$this->belongsTo('FileCategories', [
'foreignKey' => 'parent_category_id',
'className' => 'FileCategories',
'joinType' => 'INNER',
'dependent'=> true
]);
依赖"真"是不是在这个cenerio工作,所以我做错了什么或有另一种方法来做到这一点。
答案 0 :(得分:1)
您还应该添加hasMany关系,如下所示。
$this->hasMany('Parent', [
'foreignKey' => 'parent_category_id',
'className' => 'FileCategories',
'joinType' => 'INNER',
'dependent'=> true
]);
如果不起作用,您可以尝试此选项('cascadeCallbacks'=> true)。
$this->hasMany('Parent', [
'foreignKey' => 'parent_category_id',
'className' => 'FileCategories',
'joinType' => 'INNER',
'dependent'=> true,
'cascadeCallbacks' => true
]);