function setFilteredResults() { $this->queryBuilder = $this->doctrine->getEntityManager()->createQueryBuilder(); $this->queryBuilder->select('a, inst')->from('InstitutionBundle:InstitutionMedicalCenter', 'a')->innerJoin('a.institution', 'inst'); $this->queryBuilder->andWhere('inst.status = :approved_status')->setParameter('approved_status', InstitutionStatus::getBitValueForApprovedStatus()); $name = \trim($this->queryParams['name']); if ('' != $name) { $this->queryBuilder->andWhere('inst.name LIKE :name')->setParameter('name', "%{$name}%"); } if ($this->queryParams['country'] != ListFilter::FILTER_KEY_ALL) { $this->queryBuilder->andWhere('inst.country = :country'); $this->queryBuilder->setParameter('country', $this->queryParams['country']); } if ($this->queryParams['city'] != ListFilter::FILTER_KEY_ALL) { $this->queryBuilder->andWhere('inst.city = :city'); $this->queryBuilder->setParameter('city', $this->queryParams['city']); } $sortBy = $this->sortBy ? $this->sortBy : 'name'; $sort = "a.{$sortBy} " . $this->sortOrder; $this->queryBuilder->add('orderBy', $sort); $this->pagerAdapter->setQueryBuilder($this->queryBuilder); $this->filteredResult = $this->pager->getResults(); }
/** * @return QueryBuilder */ public function getQueryBuilderForApprovedInstitutions() { $qb = $this->createQueryBuilder('a')->where('a.status = :approved_status')->setParameter('approved_status', InstitutionStatus::getBitValueForApprovedStatus())->orderBy('a.name', 'ASC'); return $qb; }
/** * Check if the $institution is Approved * * @param Institution $institution * @return boolean * @author acgvelarde */ public function isApproved(Institution $institution) { return $institution->getStatus() == InstitutionStatus::getBitValueForApprovedStatus(); }
/** * * @return \Doctrine\ORM\QueryBuilder */ private function getQueryBuilderForInstitutionPublicProfileData() { $qb = $this->doctrine->getEntityManager()->createQueryBuilder(); $qb->select('inst, imc, ct, co, st, icd, fm, lg')->from('InstitutionBundle:Institution', 'inst')->innerJoin('inst.institutionMedicalCenters', 'imc', Join::WITH, 'imc.status = :imcActiveStatus')->setParameter('imcActiveStatus', InstitutionMedicalCenterStatus::APPROVED)->leftJoin('inst.city', 'ct')->leftJoin('inst.country', 'co')->leftJoin('inst.state', 'st')->leftJoin('inst.contactDetails', 'icd')->leftJoin('inst.featuredMedia', 'fm')->leftJoin('inst.logo', 'lg')->where('1=1')->andWhere('inst.status = :activeStatus')->setParameter('activeStatus', InstitutionStatus::getBitValueForApprovedStatus()); return $qb; }
/** * Get query builder for a fully eagerloaded medical center * * @return \Doctrine\ORM\QueryBuilder */ private function getQueryBuilderForFullInstitutionMedicalCenterProfile() { $qb = $this->doctrine->getEntityManager()->createQueryBuilder(); $qb->select('imc, inst, co, st, ct, inst_lg, imc_lg, inst_fm, imc_m, imc_cd, imc_bh, inst_sp, sp, sp_lg, tr, sub_sp')->from('InstitutionBundle:InstitutionMedicalCenter', 'imc')->innerJoin('imc.institution', 'inst')->leftJoin('inst.country', 'co')->leftJoin('inst.state', 'st')->leftJoin('inst.city', 'ct')->leftJoin('inst.logo', 'inst_lg')->leftJoin('inst.featuredMedia', 'inst_fm')->leftJoin('imc.logo', 'imc_lg')->leftJoin('imc.media', 'imc_m')->leftJoin('imc.contactDetails', 'imc_cd')->leftJoin('imc.businessHours', 'imc_bh')->leftJoin('imc.institutionSpecializations', 'inst_sp')->leftJoin('inst_sp.specialization', 'sp')->leftJoin('sp.media', 'sp_lg')->leftJoin('sp.treatments', 'tr')->leftJoin('tr.subSpecializations', 'sub_sp')->where('1=1')->andWhere('imc.status = :imcActiveStatus')->setParameter('imcActiveStatus', InstitutionMedicalCenterStatus::APPROVED)->andWhere('inst.status = :instActiveStatus')->setParameter('instActiveStatus', InstitutionStatus::getBitValueForApprovedStatus()); return $qb; }