Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace Kdyby\Doctrine\Repositories;
- class NestedTreeRepository extends Gedmo\Tree\Entity\Repository\NestedTreeRepository
- {
- /**
- * @param int $id
- * @param int|NULL $maxLevel
- * @return Kdyby\Doctrine\Entities\NestedNode
- */
- public function findTreeByRootId($id, $maxLevel = 0)
- {
- // prepare query
- $qb = $this->createQueryBuilder('n')
- ->select('n', 'ch')
- ->innerJoin('n.children', 'ch')
- ->where('n.nodeRoot = :id');
- $qb->setParameter('id', $id);
- if ($maxLevel > 0) {
- $qb->andWhere('n.nodeLvl <= :lvl');
- $qb->andWhere('ch.nodeLvl <= :lvl');
- $qb->setParameter('lvl', $maxLevel);
- }
- // fetch result
- $qb->getQuery()->getResult();
- // returns already managed entity
- return $this->find($id);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment