Browse Source

Fixed bug TreeBehavior::beforeSave() SetLevelExistingNode

Yasuo Harada 10 years ago
parent
commit
80c5ae63bb

+ 1 - 1
src/ORM/Behavior/TreeBehavior.php

@@ -126,7 +126,7 @@ class TreeBehavior extends Behavior
 
             if ($level) {
                 $parentNode = $this->_getNode($parent);
-                $entity->set($config[$level], $parentNode[$level] + 1);
+                $entity->set($level, $parentNode[$level] + 1);
             }
             return;
         }

+ 5 - 0
tests/TestCase/ORM/Behavior/TreeBehaviorTest.php

@@ -1340,6 +1340,11 @@ class TreeBehaviorTest extends TestCase
 
         $entity = $this->table->get(8);
         $this->assertEquals(2, $entity->depth);
+
+        $entity->parent_id = 6;
+        $this->table->save($entity);
+        $entity = $this->table->get(8);
+        $this->assertEquals(1, $entity->depth);
     }
 
     /**