public function buildEavQuery(\Bigfish\Bundle\EavBundle\Entity\Module $module, $skipFlat = false)
 {
     if ($module && $module->getFlatIsGenerated() && $module->getGenerateFlat() && !$skipFlat) {
         return '_flat_module_' . $module->getId();
     }
     $unions = array();
     $languages = $this->languageManager->getLanguages();
     foreach ($languages as $lang) {
         $qb = $this->createQueryBuilder();
         $qb->addSelect('_container.*');
         $qb->addSelect('"' . $lang . '" as culture');
         $qb->addSelect($this->getInvokeColumns()->setModule($module)->setLanguage($lang)->getSql());
         $qb->from('eav_container', EavTables::CONTAINER_PREFIX);
         if ($module) {
             $qb->where($qb->expr()->eq(EavTables::CONTAINER_PREFIX . '.module_id', ':module_id'));
         }
         $unions[] = $qb->getSQL();
     }
     if (count($unions) > 0) {
         $sql = implode(' UNION ', $unions);
         return '( ' . $sql . ' ) ';
     } else {
         return;
     }
 }
 public function getLanguages()
 {
     return $this->languageManager->getLanguages();
 }