2017-05-29 19 views
1

( 'dependent' => trueを使用して)親カテゴリを削除している間、すべての子ノード(子カテゴリ)を削除します。ここに簡単な説明があります 私はSelf-linkingモデルで作業しています。私は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 –