Просмотр исходного кода

修复 ModelTree 删除节点时无法删除间隔一个层级以上的子节点问题

jqh 4 лет назад
Родитель
Сommit
b03595ccbc
1 измененных файлов с 8 добавлено и 10 удалено
  1. 8 10
      src/Traits/ModelTree.php

+ 8 - 10
src/Traits/ModelTree.php

@@ -338,16 +338,6 @@ trait ModelTree
         }
     }
 
-    /**
-     * {@inheritdoc}
-     */
-    public function delete()
-    {
-        $this->where($this->getParentColumn(), $this->getKey())->delete();
-
-        return parent::delete();
-    }
-
     /**
      * {@inheritdoc}
      */
@@ -380,5 +370,13 @@ trait ModelTree
 
             return $branch;
         });
+
+        static::deleting(function ($model) {
+            static::query()
+                ->where($model->getParentColumn(), $model->getKey())
+                ->get()
+                ->each
+                ->delete();
+        });
     }
 }