Skip to content

Commit f07c0ad

Browse files
committed
Node level value should be closure depth + 1
1 parent c1f200e commit f07c0ad

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

lib/Gedmo/Tree/Entity/Repository/ClosureTreeRepository.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ public function verify()
449449
FROM {$nodeMeta->name} AS node
450450
INNER JOIN {$closureMeta->name} AS c WITH c.descendant = node.$nodeIdField
451451
GROUP BY node.$nodeIdField, node.$levelField
452-
HAVING node.$levelField IS NULL OR node.$levelField <> MAX(c.depth)
452+
HAVING node.$levelField IS NULL OR node.$levelField <> MAX(c.depth) + 1
453453
")->setMaxResults($maxResults);
454454

455455
if ($invalidLevelsCount = count($q->getScalarResult())) {
@@ -575,15 +575,15 @@ public function updateLevelValues()
575575
FROM {$nodeMeta->name} AS node
576576
INNER JOIN {$closureMeta->name} AS c WITH c.descendant = node.$nodeIdField
577577
GROUP BY node.$nodeIdField, node.$levelField
578-
HAVING node.$levelField IS NULL OR node.$levelField <> MAX(c.depth)
578+
HAVING node.$levelField IS NULL OR node.$levelField <> MAX(c.depth) + 1
579579
")->setMaxResults($batchSize)->setCacheable(false);
580580
do {
581581
$entries = $q->getScalarResult();
582582
$this->_em->getConnection()->beginTransaction();
583583
foreach ($entries as $entry) {
584584
unset($entry['node_level']);
585585
$this->_em->createQuery("
586-
UPDATE {$nodeMeta->name} AS node SET node.$levelField = :closure_level WHERE node.$nodeIdField = :id
586+
UPDATE {$nodeMeta->name} AS node SET node.$levelField = (:closure_level + 1) WHERE node.$nodeIdField = :id
587587
")->execute($entry);
588588
}
589589
$this->_em->getConnection()->commit();

0 commit comments

Comments
 (0)