Create a QueryBuilder instance
public createQueryBuilder ( ) : Doctrine\ORM\QueryBuilder | ||
리턴 | Doctrine\ORM\QueryBuilder | $qb |
protected function execute(InputInterface $input, OutputInterface $output) { $this->em = $this->container->getDoctrine()->getManager(); /* @var $em EntityManager */ $this->em->beginTransaction(); $entities = array('CmsAuthentication:User', 'CmsAuthentication:Group', 'Cms:ApplicationLocalizationParameter', 'Cms:BlockPropertyMetadata', 'Cms:ReferencedElement\\ReferencedElementAbstract', 'Cms:BlockProperty', 'Cms:Abstraction\\Block', 'Cms:Abstraction\\PlaceHolder', 'Cms:LocalizationTag', 'Cms:Abstraction\\Localization', 'Cms:Abstraction\\RedirectTarget', 'Cms:PageLocalizationPath', 'Cms:Page', 'Cms:EditLock', 'Cms:TemplateLayout', 'Cms:Template', 'Cms:FileProperty', 'Cms:ImageSize', 'Cms:Image', 'Cms:File', 'Cms:Folder', 'Cms:FilePath'); if ($input->getOption('clear')) { foreach ($entities as $entity) { //todo: also clean audit tables here $this->em->createQueryBuilder()->delete($entity)->getQuery()->execute(); } } $dataFile = $this->container->getParameter('directories.project_root') . DIRECTORY_SEPARATOR . $input->getArgument('filename'); if (!is_file($dataFile)) { throw new \RuntimeException(sprintf('The file [%s] does not exists.', $dataFile)); } $this->dataDir = dirname($dataFile); //todo: validate it $data = Yaml::parse(file_get_contents($dataFile)); //we need to maintain creation order $sections = array('group', 'user', 'image', 'template', 'page', 'pageLocalization'); foreach ($sections as $section) { foreach ($data[$section] as $name => $definition) { $this->createEntity($section, $name, $definition); } } $this->em->flush(); $this->em->commit(); }
/** * class constructor * * @param ContainerInterface $container */ public function __construct(ContainerInterface $container, $em) { $this->container = $container; $this->em = $em; $this->request = $this->container->get('request'); $this->queryBuilder = $this->em->createQueryBuilder(); }
/** * @param string $searchQuery * @return \Doctrine\ORM\QueryBuilder */ public function createDoctrineQueryBuilder($searchQuery) { $searchQuery = str_replace('*', '%', $searchQuery); $qb = $this->entityManager->createQueryBuilder(); $searchQueryParts = explode(' ', $searchQuery); $query = $qb->select('entity')->from($this->entityName, 'entity'); $subquery = null; $subst = 'a'; foreach ($searchQueryParts as $i => $searchQueryPart) { $qbInner = $this->entityManager->createQueryBuilder(); $paramPosistion = $i + 1; ++$subst; $whereQuery = $qb->expr()->orX(); foreach ($this->searchColumns as $column) { $whereQuery->add($qb->expr()->like($subst . '.' . $column, '?' . $paramPosistion)); } $subqueryInner = $qbInner->select($subst . '.' . $this->idName)->from($this->entityName, $subst)->where($whereQuery); if ($subquery != null) { $subqueryInner->andWhere($qb->expr()->in($subst . '.' . $this->idName, $subquery->getQuery()->getDql())); } $subquery = $subqueryInner; $query->setParameter($paramPosistion, $searchQueryPart); } $query->where($qb->expr()->in('entity.' . $this->idName, $subquery->getQuery()->getDql())); return $query; }
protected function getAddressByKyc($kyc) { $qb = $this->em->createQueryBuilder(); $qb->select('a')->from('Multichain\\Console\\Entity\\Address', 'a')->where('a.kycname = ?1')->setParameter(1, $kyc); $query = $qb->getQuery(); return $query->getOneOrNullResult(); }
/** * Find a session by its id * * @param string $id * * @return Session */ public function findById($id) { $qb = $this->em->createQueryBuilder(); $qb->select('s')->from('User\\Model\\Session', 's')->where('s.id = ?1'); $qb->setParameter(1, $id); return $qb->getQuery()->getOneOrNullResult(); }
/** * Get all activities which a user is signed up for. * * @param int $userId * * @return \Activity\Model\ActivitySignup */ public function getSignedUpActivities($userId) { $qb = $this->em->createQueryBuilder(); $qb->select('a')->from('Activity\\Model\\UserActivitySignup', 'a')->join('a.user', 'u')->where('u.lidnr = ?1')->setParameter(1, $userId); $result = $qb->getQuery()->getResult(); return $result; }
public function getMainAdvs() { $advs = ['trade' => [], 'find' => [], 'gift' => []]; $qb = $this->em->createQueryBuilder(); $trade = $qb->select('a')->from('NaidusvoeBundle:Advertisment', 'a')->where($qb->expr()->andX($qb->expr()->isNotNull('a.onMainUntill'), $qb->expr()->eq('a.typeID', Advertisment::TRADE)))->getQuery()->getResult(); $type = $this->em->find('NaidusvoeBundle:AdvertismentType', Advertisment::TRADE); $advsCount = count($trade); $advs['trade'] = $this->getRandom($trade, AdvertisementService::MAIN_ADV_COUNT); if ($advsCount < 5) { $advs['trade'] = array_merge($advs['trade'], $this->generateDummyAdvs(AdvertisementService::MAIN_ADV_COUNT - $advsCount, $type)); } $qb = $this->em->createQueryBuilder(); $find = $qb->select('a')->from('NaidusvoeBundle:Advertisment', 'a')->where($qb->expr()->andX($qb->expr()->isNotNull('a.onMainUntill'), $qb->expr()->eq('a.typeID', Advertisment::FIND)))->getQuery()->getResult(); $type = $this->em->find('NaidusvoeBundle:AdvertismentType', Advertisment::FIND); $advsCount = count($find); $advs['find'] = $this->getRandom($find, AdvertisementService::MAIN_ADV_COUNT); if ($advsCount < 5) { $advs['find'] = array_merge($advs['find'], $this->generateDummyAdvs(AdvertisementService::MAIN_ADV_COUNT - $advsCount, $type)); } $qb = $this->em->createQueryBuilder(); $gift = $qb->select('a')->from('NaidusvoeBundle:Advertisment', 'a')->where($qb->expr()->andX($qb->expr()->isNotNull('a.onMainUntill'), $qb->expr()->eq('a.typeID', Advertisment::GIFT)))->getQuery()->getResult(); $type = $this->em->find('NaidusvoeBundle:AdvertismentType', Advertisment::GIFT); $advsCount = count($gift); $advs['gift'] = $this->getRandom($gift, AdvertisementService::MAIN_ADV_COUNT); if ($advsCount < 5) { $advs['gift'] = array_merge($advs['gift'], $this->generateDummyAdvs(AdvertisementService::MAIN_ADV_COUNT - $advsCount, $type)); } return $advs; }
public function loadUserByOAuthUserResponse(UserResponseInterface $response) { //$doctrine = $em = $this->getEntityManager(); //echo 'fsfd'; //print_r($doctrine); //die; try { $userdata = $response->getResponse(); $fbid = $userdata['id']; $name = $userdata['name']; $email = $userdata['email']; print_r($userdata); $user = $this->_em->createQueryBuilder()->select('u')->from('Yasoon\\Site\\Entity\\AuthorEntity', 'u')->where('u.facebookId = :fbid')->setParameter('fbid', $fbid)->getQuery()->getSingleResult(); if (!is_object($user)) { $user = (new AuthorEntity())->setName($name)->setEmail('')->setPassword('')->setSubscribed(1)->setFacebookId($fbid)->setPublicationDate(new \DateTime())->setRole(1); $this->_em->persist($user); $this->_em->flush(); } } catch (\Exception $e) { return ['error' => true, 'errorText' => $e->getMessage()]; } //$user = $this->_em->getRepository('Yasoon\Site\Entity\AuthorEntity')->find(41); //print_r($user->getName()); return $user; }
/** * Builds the raw query * * @return void */ protected function buildQuery() { $this->queryBuilder = $this->connection->createQueryBuilder(); $this->queryBuilder->select((array) $this->conf->select); /* * Main table */ foreach ($this->conf->from as $from) { $this->queryBuilder->from($from->name, $from->alias); } /* * Inner join, right join, left join */ $joinTypes = ['join', 'innerJoin', 'leftJoin', 'rightJoin']; foreach ($joinTypes as $joinType) { if (isset($this->conf->{$joinType})) { $joins = $this->conf->{$joinType}; $this->buildJoins($joinType, $joins); } } /* * Condition */ if (isset($this->conf->where)) { foreach ($this->conf->where as $where) { $this->queryBuilder->andWhere($where); } } if (isset($this->conf->parameters)) { foreach ($this->conf->parameters as $key => $value) { $this->queryBuilder->setParameter($key, $value); } } }
/** * @param NQLQuery $nqlQuery * @param bool $skipSelection * @return QueryBuilder * @throws SyntaxErrorException */ public function convert(NQLQuery $nqlQuery, bool $skipSelection) : QueryBuilder { $this->checkTables($nqlQuery->getFrom()); /** @var QueryBuilder $query */ $query = $this->em->createQueryBuilder(); /** @var string $columnDefaultAlias */ $columnDefaultAlias = count($nqlQuery->getFrom()->getTables()) === 1 ? $nqlQuery->getFrom()->getTables()[0]->getAlias() : ''; if ($columnDefaultAlias === 'group') { $columnDefaultAlias = '_group'; } if ($skipSelection) { $query->select($columnDefaultAlias); } else { if ($nqlQuery->getSelect()->getColumns()) { /** @var Column $column */ foreach ($nqlQuery->getSelect()->getColumns() as $column) { $query->addSelect(($column->getAlias() ?? $columnDefaultAlias) . '.' . $column->getName()); } } else { $query->select($columnDefaultAlias); } } foreach ($nqlQuery->getFrom()->getTables() as $table) { $query->from($this->entities[strtolower($table->getName())], $table->getAlias()); } if ($nqlQuery->getWhere()->getConditions()) { $paramWhere = $this->getParametrizedWhere($nqlQuery->getWhere()->getConditions(), $columnDefaultAlias); $query->where($paramWhere['clause'])->setParameters($paramWhere['params']); } $columns = $this->getAllColumns($skipSelection ? Select::getBlank() : $nqlQuery->getSelect(), $nqlQuery->getWhere(), $nqlQuery->getOrderBy()); $alreadyJoined = []; foreach ($columns as $column) { if (count($column->getJoinWith())) { $joinWith = $column->getJoinWith(); $iMax = count($joinWith); for ($i = 0; $i < $iMax; $i++) { if (!array_key_exists($joinWith[$i], $alreadyJoined)) { if ($i === 0) { $column = ($column->getAlias() === null ? $columnDefaultAlias : $column->getAlias()) . '.' . $column->getJoinWith()[$i]; } else { $column = $joinWith[$i - 1] . '.' . $joinWith[$i]; } $query->innerJoin($column, $joinWith[$i]); $alreadyJoined[$joinWith[$i]] = null; } } } } /** @var OrderingColumn $column */ foreach ($nqlQuery->getOrderBy()->getColumns() as $column) { $query->addOrderBy((count($column->getJoinWith()) ? $column->getJoinWith()[count($column->getJoinWith()) - 1] : ($column->getAlias() === null ? $columnDefaultAlias : $column->getAlias())) . '.' . $column->getName(), $column->getOrdering()); } if (null !== $nqlQuery->getLimit()) { $query->setMaxResults($nqlQuery->getLimit()); } if (null !== $nqlQuery->getOffset()) { $query->setFirstResult($nqlQuery->getOffset()); } return $query; }
public function getGlobals() { if (isset($this->site)) { $siteIds = $this->site->getChildSiteIds(); array_push($siteIds, $this->site->getId()); $connection = $this->container->get('doctrine')->getConnection(); $sql = "SELECT s.name, t.name AS type, d.domain, (SELECT COUNT(l.id) FROM lead l WHERE l.lead_status_id = 1 AND l.site_id=s.id) AS leads, "; $sql .= "(SELECT COUNT(a.id) FROM loan_application a WHERE a.status <= 1 AND a.deleted = 0 AND a.site_id=s.id) AS loans FROM site s "; $sql .= "INNER JOIN domain d ON s.primary_domain_id=d.id "; $sql .= "LEFT JOIN site_type t ON s.site_type_id=t.id "; $sql .= sprintf("WHERE s.id IN (%s) ", implode(',', $siteIds)); $sql .= "GROUP BY s.id"; $stmt = $connection->prepare($sql); //echo $sql; exit; $stmt->execute(); $siteSummary = $stmt->fetchAll(); // get loans $qb = $this->em->createQueryBuilder()->select('count(l.id)')->from('SudouxMortgageBundle:LoanApplication', 'l')->where('l.status = 0 OR l.status = 1')->andWhere('l.site IN (:site_ids)')->andWhere('l.deleted = 0')->setParameter('site_ids', $siteIds); $newLoans = $qb->getQuery()->getSingleScalarResult(); // get docs return array('newLoans' => $newLoans, 'siteSummary' => $siteSummary); } else { return array(); } }
/** * Find all organs of this member. * * @param MemberModel $member * * @return array Of organs */ public function findOrgans(MemberModel $member) { $qb = $this->em->createQueryBuilder(); $qb->select('DISTINCT o')->from('Decision\\Model\\Organ', 'o')->join('o.members', 'om')->join('om.member', 'm')->where('m.lidnr = :lidnr')->andWhere('om.dischargeDate IS NULL'); $qb->setParameter('lidnr', $member->getLidnr()); return $qb->getQuery()->getResult(); }
/** * Returns the previous photo in the album to display * * @param \Photo\Model\Photo $photo * * @return \Photo\Model\Album|null Photo if there is a previous * photo, null otherwise */ public function getPreviousPhoto($photo) { $qb = $this->em->createQueryBuilder(); $qb->select('a')->from('Photo\\Model\\Photo', 'a')->where('a.dateTime < ?1 AND a.album = ?2')->setParameter(1, $photo->getDateTime())->setParameter(2, $photo->getAlbum())->orderBy('a.dateTime', 'DESC')->setMaxResults(1); $res = $qb->getQuery()->getResult(); return empty($res) ? null : $res[0]; }
/** * {@inheritdoc} */ public function flushCarts() { $expiredCarts = $this->entityManager->createQueryBuilder()->select('c')->from($this->getClass(), 'c')->where('c.locked = false AND c.expiresAt < ?1')->setParameter(1, new \DateTime("now"))->getQuery()->useResultCache(false)->getResult(); foreach ($expiredCarts as $cart) { $this->removeCart($cart); } }
public function setEntityClass($entityClass) { $this->qb = $this->em->createQueryBuilder(); $this->qb->add('select', 'e'); $this->qb->add('from', $entityClass . ' e'); return $this; }
/** * Counting the entities in the repository (database table). * * @param string $repository name of repository. * @return integer number of entities in the repository. */ private function countEntities($repository) { $qb = $this->em->createQueryBuilder(); $qb->select('count(e.id)'); $qb->from($repository, 'e'); return $qb->getQuery()->getSingleScalarResult(); }
/** * Get filtered count * * @param array $params * @param array $cols * @return int */ public function getFilteredCount(array $params, array $cols) { if (empty($params['sSearch'])) { return $this->getCount(); } return $this->em->createQueryBuilder()->select('COUNT(e)')->from($this->entityName, 'e')->where($this->buildWhere($cols, $params['sSearch']))->getQuery()->getSingleScalarResult(); }
/** * {@inheritDoc} */ public function process(DatagridInterface $grid, array $config) { $this->datagrid = $grid; if (isset($config['query'])) { $queryConfig = array_intersect_key($config, array_flip(['query'])); $converter = new YamlConverter(); $this->qb = $converter->parse($queryConfig, $this->em->createQueryBuilder()); } elseif (isset($config['entity']) && isset($config['repository_method'])) { $entity = $config['entity']; $method = $config['repository_method']; $repository = $this->em->getRepository($entity); if (method_exists($repository, $method)) { $qb = $repository->{$method}(); if ($qb instanceof QueryBuilder) { $this->qb = $qb; } else { throw new DatasourceException(sprintf('%s::%s() must return an instance of Doctrine\\ORM\\QueryBuilder, %s given', get_class($repository), $method, is_object($qb) ? get_class($qb) : gettype($qb))); } } else { throw new DatasourceException(sprintf('%s has no method %s', get_class($repository), $method)); } } else { throw new DatasourceException(get_class($this) . ' expects to be configured with query or repository method'); } if (isset($config['hints'])) { $this->queryHints = $config['hints']; } $grid->setDatasource(clone $this); }
public function __construct($setConfigFiles = true) { if ($setConfigFiles) { $this->configFile = __DIR__ . '/../../../config.php'; $this->localConfigFile = __DIR__ . '/../../../config.local.php'; } parent::__construct(); $isDevMode = false; $cache = new \Doctrine\Common\Cache\FilesystemCache(__DIR__ . '/../../tmp'); $config = Setup::createConfiguration($isDevMode, __DIR__ . '/../../tmp', $cache); $config->setProxyDir(__DIR__ . '/../../tmp'); $config->setProxyNamespace('MyProject\\Proxies'); $config->setAutoGenerateProxyClasses(true); $paths = [__DIR__ . '/../Entity']; $driver = new \Doctrine\ORM\Mapping\Driver\AnnotationDriver(new AnnotationReader(), $paths); \Doctrine\Common\Annotations\AnnotationRegistry::registerLoader('class_exists'); $config->setMetadataDriverImpl($driver); //$config->setSQLLogger(new \Doctrine\DBAL\Logging\EchoSQLLogger()); $conn = ['driver' => 'mysqli', 'host' => '127.0.0.1', 'user' => $this->databaseFactory->getUserName(), 'password' => $this->databaseFactory->getPassword(), 'dbname' => $this->databaseFactory->getDatabaseName()]; $this->entityManager = EntityManager::create($conn, $config); $this->entityManager->getConnection()->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string'); \Doctrine\DBAL\Types\Type::addType('enum', StringType::class); $this->entityManager->getConfiguration()->addCustomStringFunction('DATE', DateFunction::class); $this->user = $this->entityManager->createQueryBuilder()->select('u')->from(Sources\Tests\Entity\User::class, 'u'); }
/** * {@inheritDoc} */ public function process(DatagridInterface $grid, array $config) { $queryConfig = array_intersect_key($config, array_flip(['query'])); $converter = new YamlConverter(); $this->qb = $converter->parse($queryConfig, $this->em->createQueryBuilder()); $grid->setDatasource(clone $this); }
/** * @param Name $name * @param Kind $kind * @return ArrayCollection */ public function partiesLikeNameAndKind(Name $name, Kind $kind) { $qb = $this->em->createQueryBuilder(); $query = $qb->select('p')->from($this->partyClass, 'p')->join('p.kind', 'k')->where($qb->expr()->eq('k.id', '?1'), $qb->expr()->like('p.lastName', '?2'))->setParameter(1, $kind->id())->setParameter(2, '%' . $name->toString() . '%'); $parties = $query->getQuery()->getResult(); return $parties; }
/** * Returns the latest poll if one is available * * @return \Frontpage\Model\Poll|null */ public function getNewestPoll() { $qb = $this->em->createQueryBuilder(); $qb->select('p')->from('Frontpage\\Model\\Poll', 'p')->where('p.approver IS NOT NULL')->andWhere('p.expiryDate > CURRENT_DATE()')->setMaxResults(1)->orderBy('p.expiryDate', 'DESC'); $res = $qb->getQuery()->getResult(); return empty($res) ? null : $res[0]; }
/** * {@inheritdoc} */ public function search($query, $page, $perPage, $searchById = false) { $query = trim($query); $page = (int) $page > 0 ? (int) $page : 1; $perPage = (int) $perPage > 0 ? (int) $perPage : 10; $firstResult = ($page - 1) * $perPage; $perPage += 1; $queryBuilder = $this->manager->createQueryBuilder(); $queryBuilder->from('OroCRMAccountBundle:Account', 'a')->select('a')->leftJoin('OroCRMPartnerBundle:Partner', 'p', 'WITH', 'a = p.account')->where('p.id IS NULL')->setFirstResult($firstResult)->setMaxResults($perPage)->orderBy('a.name'); if ($query) { if ($searchById) { $queryBuilder->andWhere('a.id = :id'); $queryBuilder->setParameters(array('id' => $query)); } else { $queryBuilder->addSelect('LOCATE(:query, a.name) as HIDDEN entry_position'); $queryBuilder->andWhere('a.name like :search_expression'); $queryBuilder->orderBy('entry_position'); $queryBuilder->addOrderBy('a.name'); $queryBuilder->setParameters(array('query' => $query, 'search_expression' => "%{$query}%")); } } $items = $this->aclHelper->apply($queryBuilder)->execute(); $hasMore = count($items) == $perPage; if ($hasMore) { $items = array_slice($items, 0, $perPage - 1); } return array('results' => $this->convertItems($items), 'more' => $hasMore); }
public function buildForm(FormBuilderInterface $builder, array $options) { $sekolah = $this->getSekolah(); $querybuilder = $this->entityManager->createQueryBuilder()->select('kepulangan, siswa')->from('LanggasSisdikBundle:KepulanganSiswa', 'kepulangan')->leftJoin('kepulangan.kelas', 'kelas')->leftJoin('kepulangan.siswa', 'siswa')->where('kelas.sekolah = :sekolah')->orderBy('kelas.kode')->addOrderBy('siswa.namaLengkap')->setParameter('sekolah', $sekolah); if ($options['buildparam']['tanggal'] != '') { $querybuilder->andWhere('kepulangan.tanggal = :tanggal'); $querybuilder->setParameter('tanggal', $options['buildparam']['tanggal']); } if ($options['buildparam']['searchkey'] != '') { $querybuilder->andWhere("siswa.namaLengkap LIKE :searchkey OR siswa.nomorInduk LIKE :searchkey OR siswa.nomorIndukSistem = :searchkey2"); $querybuilder->setParameter('searchkey', '%' . $options['buildparam']['searchkey'] . '%'); $querybuilder->setParameter('searchkey2', $options['buildparam']['searchkey']); } if ($options['buildparam']['tingkat'] != '') { $querybuilder->andWhere("kelas.tingkat = :tingkat"); $querybuilder->setParameter('tingkat', $options['buildparam']['tingkat']); } if ($options['buildparam']['kelas'] != '') { $querybuilder->andWhere("kepulangan.kelas = :kelas"); $querybuilder->setParameter('kelas', $options['buildparam']['kelas']); } if ($options['buildparam']['statusKepulangan'] != '') { $querybuilder->andWhere("kepulangan.statusKepulangan = :statusKepulangan"); $querybuilder->setParameter('statusKepulangan', $options['buildparam']['statusKepulangan']); } $entities = $querybuilder->getQuery()->getResult(); foreach ($entities as $entity) { if (is_object($entity) && $entity instanceof KepulanganSiswa) { $builder->add('kepulangan_' . $entity->getId(), 'choice', ['required' => true, 'expanded' => true, 'multiple' => false, 'choices' => JadwalKepulangan::getDaftarStatusKepulangan(), 'attr' => ['class' => 'medium'], 'data' => $entity->getStatusKepulangan()])->add('kepulangan_keterangan_' . $entity->getId(), 'text', ['required' => false, 'attr' => ['placeholder' => 'label.keterangan.kepulangan', 'class' => 'keterangan-kepulangan'], 'data' => $entity->getKeteranganStatus()]); } } }
/** * Get last fired up specific type of trigger for concret server * * @param int $triggerId * @param int $serverId */ public function getLastForTrigger($triggerId, $serverId) { $queryBuilder = $this->em->createQueryBuilder(); $queryBuilder->select('nl.created')->from('Monitor\\Model\\NotificationLog', 'nl')->where('nl.trigger_id = ?1')->andWhere('nl.server_id = ?2')->orderBy('nl.created', 'DESC')->setMaxResults(1)->setParameters(['1' => $triggerId, '2' => $serverId]); $query = $queryBuilder->getQuery(); $queryResult = $query->getResult(); return $queryResult; }
/** * @param string $nom * @return mixed */ public function loadUserByUsername($nom) { $entity = $this->em->createQueryBuilder()->select('u')->from("StanhomeRhBundle:Customer", "u")->where('u.nom = :nom')->setParameter('nom', $nom)->getQuery()->getOneOrNullResult(); if ($entity === null) { throw new UsernameNotFoundException('Unable to find the customer entity'); } return $entity; }
/** * Find a meeting with all decisions. * * @param string $type * @param int $number * * @return MeetingModel */ public function find($type, $number) { $qb = $this->em->createQueryBuilder(); $qb->select('m, d, db')->from('Decision\\Model\\Meeting', 'm')->where('m.type = :type')->andWhere('m.number = :number')->leftJoin('m.decisions', 'd')->leftJoin('d.destroyedby', 'db')->orderBy('d.point')->addOrderBy('d.number'); $qb->setParameter(':type', $type); $qb->setParameter(':number', $number); return $qb->getQuery()->getSingleResult(); }
protected function getDatabaseCount($entity, $criteria) { $qb = $this->em->createQueryBuilder()->select('COUNT(e)')->from($entity, 'e'); foreach ($criteria as $field => $value) { $qb->andWhere("e.{$field} = :{$field}")->setParameter($field, $value); } return $qb->getQuery()->getSingleScalarResult(); }
public function getPlayersToSelect($status) { $array = array(); $result = $this->em->createQueryBuilder(); $dql = $result->select('p.name')->from(Players::ORM_ENTITY, 'p')->where('p.status = :status')->setParameter('status', $status)->getQuery()->getResult(\Doctrine\ORM\Query::HYDRATE_ARRAY); $array = array_map('current', $dql); return $array; }
/** * Delete the existing activation code for a member * * @param Member $member * @return array */ public function deleteByMember(Member $member) { $qb = $this->em->createQueryBuilder(); $qb->delete('User\\Model\\NewUser', 'u'); $qb->where('u.member = :member'); $qb->setParameter('member', $member); return $qb->getQuery()->getResult(); }