/** * Search count only routine. * * @param \Doctrine\ORM\QueryBuilder $qb Query builder routine * * @return \Doctrine\ORM\PersistentCollection|integer */ public function searchCount(\Doctrine\ORM\QueryBuilder $qb) { $qb->select('COUNT(DISTINCT ' . $qb->getMainAlias() . '.id)'); return intval($qb->getSingleScalarResult()); }
/** * Get identifiers list for specified query builder object * * @param \Doctrine\ORM\QueryBuilder $qb Query builder * @param string $name Name * @param mixed $value Value * * @return void */ protected function addImportCondition(\Doctrine\ORM\QueryBuilder $qb, $name, $value) { $alias = $qb->getMainAlias(); if (property_exists($this->getClassMetadata()->name, $name)) { $qb->andWhere($alias . '.' . $name . ' = :' . $name); } elseif (property_exists($this->getClassMetadata()->name, 'translations')) { $qb->andWhere('translations.' . $name . ' = :' . $name); if (is_array($value)) { $value = $value[\XLite\Logic\Import\Importer::getLanguageCode()]; } } $qb->setParameter($name, $value); }
/** * Get identifiers list for specified query builder object * * @param \Doctrine\ORM\QueryBuilder $qb Query builder * @param string $name Name * @param mixed $value Value * * @return void */ protected function addImportCondition(\Doctrine\ORM\QueryBuilder $qb, $name, $value) { if ('productClass' == $name && is_string($value)) { $alias = $qb->getMainAlias(); $qb->linkInner($alias . '.productClass')->linkInner('productClass.translations', 'productClassTranslations')->andWhere('productClassTranslations.name = :productClass')->setParameter('productClass', $value); } else { $result = parent::addImportCondition($qb, $name, $value); } }