public function getNextChapter(Chapter $chapter) { try { $qb = $this->_em->createQueryBuilder(); return $this->_em->createQueryBuilder()->add('select', 'c')->add('from', 'Icap\\LessonBundle\\Entity\\Chapter c')->innerJoin('c.lesson', ' l')->where($qb->expr()->andx($qb->expr()->gt('c.left', '?1'), $qb->expr()->eq('l.id', '?2')))->orderBy('c.left', 'ASC')->setParameter(1, $chapter->getLeft())->setParameter(2, $chapter->getLesson())->setFirstResult(0)->setMaxResults(1)->getQuery()->getSingleResult(); } catch (\Doctrine\Orm\NoResultException $e) { return; } }