public function findPopularQualifierGames(Scholarship $scholarship, $gameName = null, $gameStudio = null, EGGameGenre $genre = null, $offset = 0, $limit = 20)
 {
     $em = $this->getEntityManager();
     $where = "";
     if ($gameName) {
         $where .= " AND g.gameName LIKE :gameName ";
     }
     if ($gameStudio) {
         $where .= " AND g.studioName LIKE :gameStudio ";
     }
     if ($genre) {
         $where .= " AND g.genre = :genre ";
     }
     $q = $em->createQuery('SELECT g FROM GotChosenSiteBundle:EGGame g ' . 'LEFT JOIN g.scholarships gs ' . 'LEFT JOIN g.statistics st ' . 'WHERE g.status = :gameStatus AND st.statsMonth = :statsMonth ' . $where . 'AND (gs.scholarship IS NULL OR gs.scholarship != :sship)' . 'ORDER BY st.monthPlays DESC');
     $q->setParameter('gameStatus', EGGame::STATUS_ACTIVE);
     $q->setParameter('statsMonth', date('Y-m'));
     $q->setParameter('sship', $scholarship->getId());
     $q->setFirstResult($offset);
     $q->setMaxResults($limit);
     if ($gameName) {
         $q->setParameter('gameName', "%{$gameName}%");
     }
     if ($gameStudio) {
         $q->setParameter('gameStudio', "%{$gameStudio}%");
     }
     if ($genre) {
         $q->setParameter('genre', $genre->getId());
     }
     return $q->getResult();
 }