Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在自链接模型中,删除子节点,同时删除父节点_Php_Cakephp_Cakephp 3.0 - Fatal编程技术网

Php 在自链接模型中,删除子节点,同时删除父节点

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

我想在删除父类别时删除所有子节点(子类别)(使用'dependent'=>true)。以下是简要说明 我正在使用一个自链接模型。让我们考虑一下我有2张表

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
]);