Php 在自链接模型中,删除子节点,同时删除父节点
我想在删除父类别时删除所有子节点(子类别)(使用'dependent'=>true)。以下是简要说明 我正在使用一个自链接模型。让我们考虑一下我有2张表Php 在自链接模型中,删除子节点,同时删除父节点,php,cakephp,cakephp-3.0,Php,Cakephp,Cakephp 3.0,我想在删除父类别时删除所有子节点(子类别)(使用'dependent'=>true)。以下是简要说明 我正在使用一个自链接模型。让我们考虑一下我有2张表 1. Categories 2. Products 类别是多层次的。因此,在Categories表中有一列名为“parent\u category\u id”。我已将我的模型自链接为bellow $this->belongsTo('FileCategories', [ 'foreignKey' => 'parent
1. Categories
2. Products
类别是多层次的。因此,在Categories表中有一列名为“parent\u category\u id”。我已将我的模型自链接为bellow
$this->belongsTo('FileCategories', [
'foreignKey' => 'parent_category_id',
'className' => 'FileCategories',
'joinType' => 'INNER',
'dependent'=> true
]);
依赖项“true”在此情况下不起作用,因此是我做错了什么,还是有其他方法可以做到这一点。您还应该添加如下所示的hasMany关系
$this->hasMany('Parent', [
'foreignKey' => 'parent_category_id',
'className' => 'FileCategories',
'joinType' => 'INNER',
'dependent'=> true
]);
如果不起作用,可以尝试此选项('cascadeCallbacks'=>true)
为我工作。从未注意到我将“dependent”=>true应用于belongsTo关联@毒蛇
$this->hasMany('Parent', [
'foreignKey' => 'parent_category_id',
'className' => 'FileCategories',
'joinType' => 'INNER',
'dependent'=> true,
'cascadeCallbacks' => true
]);