Browse Source

[tree] fix nested tree repository for root id check

gediminasm 14 years ago
parent
commit
bb5ae9c733
1 changed files with 8 additions and 0 deletions
  1. 8 0
      lib/Gedmo/Tree/Entity/Repository/NestedTreeRepository.php

+ 8 - 0
lib/Gedmo/Tree/Entity/Repository/NestedTreeRepository.php

@@ -167,6 +167,10 @@ class NestedTreeRepository extends AbstractTreeRepository
                         ->from($config['useObjectClass'], 'node')
                         ->where('node.' . $config['parent'] . ' = ' . $id);
 
+                    if (isset($config['root'])) {
+                        $rootId = $meta->getReflectionProperty($config['root'])->getValue($node);
+                        $qb->andWhere("node.{$config['root']} = {$rootId}");
+                    }
                     $q = $qb->getQuery();
                     $count = intval($q->getSingleScalarResult());
                 } else {
@@ -225,6 +229,10 @@ class NestedTreeRepository extends AbstractTreeRepository
                             ->andWhere('node.' . $config['left'] . " > {$left}");
                     }
                 }
+                if (isset($config['root'])) {
+                    $rootId = $meta->getReflectionProperty($config['root'])->getValue($node);
+                    $qb->andWhere("node.{$config['root']} = {$rootId}");
+                }
             } else {
                 throw new \InvalidArgumentException("Node is not related to this repository");
             }