public function indexAction(Request $request) { $dateRange = new StatsDateRange(); $dateRange->setFromRequest($request); $repositoryBuilder = new VisitorSessionRanTreeVersionRepositoryBuilder(); $repositoryBuilder->setDateRange($dateRange); $doctrine = $this->getDoctrine()->getManager(); $treeRepo = $doctrine->getRepository('QuestionKeyBundle:VisitorSessionRanTreeVersion'); $sessions = $treeRepo->findByBuilder($repositoryBuilder); return $this->render('QuestionKeyBundle:AdminVisitorSessionRanTreeVersionList:index.html.twig', array('dateRange' => $dateRange, 'sessionRanTreeVersions' => $sessions)); }
public function findByBuilder(VisitorSessionRanTreeVersionRepositoryBuilder $visitorSessionRanTreeVersionRepositoryBuilder) { $where = array(); $params = array(); if ($visitorSessionRanTreeVersionRepositoryBuilder->getDateRange()) { $where[] = ' vsrtv.createdAt > :from AND vsrtv.createdAt < :to'; $params['from'] = $visitorSessionRanTreeVersionRepositoryBuilder->getDateRange()->getFrom(); $params['to'] = $visitorSessionRanTreeVersionRepositoryBuilder->getDateRange()->getTo(); } $s = $this->getEntityManager()->createQuery(' SELECT vsrtv FROM QuestionKeyBundle:VisitorSessionRanTreeVersion vsrtv' . ' WHERE ' . implode(" AND ", $where))->setParameters($params)->getResult(); return $s; }