getEntityManager()->createQueryBuilder() ->select("s") ->from(\models\summit\Summit::class, "s") ->where('s.active = 1') ->andWhere('s.available_on_api = 1') ->orderBy('s.begin_date', 'DESC') ->getQuery() ->getResult(); if (count($res) == 0) return null; return $res[0]; } /** * @return Summit[] */ public function getAvailables() { return $this->getEntityManager()->createQueryBuilder() ->select("s") ->from(\models\summit\Summit::class, "s") ->where('s.available_on_api = 1') ->orderBy('s.begin_date', 'ASC') ->getQuery() ->getResult(); } /** * @return Summit[] */ public function getAllOrderedByBeginDate() { return $this->getEntityManager()->createQueryBuilder() ->select("s") ->from(\models\summit\Summit::class, "s") ->orderBy('s.begin_date', 'ASC') ->getQuery() ->getResult(); } /** * @return string */ protected function getBaseEntity() { return Summit::class; } /** * @param string $name * @return Summit */ public function getByName($name) { return $this->getEntityManager()->createQueryBuilder() ->select("s") ->from(\models\summit\Summit::class, "s") ->where('s.name = :name') ->setParameter('name', $name) ->getQuery() ->getOneOrNullResult(); } /** * @return Summit */ public function getActive() { $res = $this->getEntityManager()->createQueryBuilder() ->select("s") ->from(\models\summit\Summit::class, "s") ->where('s.active = 1') ->orderBy('s.begin_date', 'DESC') ->getQuery() ->getResult(); if (count($res) == 0) return null; return $res[0]; } }