@@ -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