2017-05-29 199 views
1

我想在刪除父類別(使用'dependent'=> true)的同時刪除所有子節點(子類別)。以下是簡要說明 我正在使用自鏈接模型。讓我們考慮我有2個表在自我鏈接模型中,刪除父節點時刪除子節點

1. Categories 
2. Products 

其中類別是多級。以便我在名爲「parent_category_id」的Categories表中有一列。我有自我鏈接我的模型,波紋管,

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

依賴「真」是不是在這個cenerio工作,所以是我做錯了什麼或有另一種方法來做到這一點。

回答

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

爲我工作。從未注意到我對belongsTo關聯應用「dependent」=> true。 @vipul –