【问题标题】:In self linking model, deleting the child node while parent node delete在自链接模型中,删除父节点时删除子节点
【发布时间】:2017-05-29 13:16:55
【问题描述】:

我想在删除父类别的同时删除所有子节点(子类别)(使用'dependent'=> true)。这是简要说明 我正在使用自链接模型。假设我有 2 张桌子

1. Categories
2. Products

类别是多级的。这样我在类别表中有一个名为“parent_category_id”的列。我已将我的模型自链接如下,

$this->belongsTo('FileCategories', [
        'foreignKey' => 'parent_category_id',
        'className' => 'FileCategories',
        'joinType' => 'INNER',
        'dependent'=> true
    ]);

依赖的“true”在这个场景中不起作用,所以我做错了什么还是有另一种方法可以做到这一点。

【问题讨论】:

    标签: php cakephp cakephp-3.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
    ]);
    

    【讨论】:

    • 为我工作。从来没有注意到我正在为 belongsTo 关联应用“依赖”=> true。 @vipul
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 2013-02-04
    • 2021-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    相关资源
    最近更新 更多