Ver Fonte

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

jqh há 4 anos atrás
pai
commit
b03595ccbc
1 ficheiros alterados com 8 adições e 10 exclusões
  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();
+        });
     }
 }