当前位置: 首页>>代码示例>>PHP>>正文


PHP Query::getParameters方法代码示例

本文整理汇总了PHP中Doctrine\ORM\Query::getParameters方法的典型用法代码示例。如果您正苦于以下问题:PHP Query::getParameters方法的具体用法?PHP Query::getParameters怎么用?PHP Query::getParameters使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Doctrine\ORM\Query的用法示例。


在下文中一共展示了Query::getParameters方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getSlice

 /**
  * {@inheritdoc}
  */
 public function getSlice($offset, $length)
 {
     $query = clone $this->query;
     $query->setParameters($this->query->getParameters());
     $query->setFirstResult($offset)->setMaxResults($length);
     return $query->getQuery()->getResult();
 }
开发者ID:olegstepura,项目名称:doctrine-multicolumn-search,代码行数:10,代码来源:PagerfantaAdapter.php

示例2: take

 /**
  * @param int $offset
  * @return \Porpaginas\Page
  */
 public function take($offset, $limit)
 {
     if ($this->result !== null) {
         return new ArrayPage(array_slice($this->result, $offset, $limit), $offset, $limit, count($this->result));
     }
     $query = clone $this->query;
     $query->setParameters($this->query->getParameters());
     foreach ($this->query->getHints() as $name => $value) {
         $query->setHint($name, $value);
     }
     $query->setFirstResult($offset)->setMaxResults($limit);
     return new ORMQueryPage(new Paginator($query, $this->fetchCollection));
 }
开发者ID:stof,项目名称:porpaginas,代码行数:17,代码来源:ORMQueryResult.php

示例3: processParameterMappings

 /**
  * @SuppressWarnings(PHPMD.CyclomaticComplexity)
  * @SuppressWarnings(PHPMD.NPathComplexity)
  *
  * Copy of Doctrine\ORM\Query::processParameterMappings
  *
  * @param Query $query
  * @return array
  * @throws QueryException
  */
 public function processParameterMappings(Query $query)
 {
     $parser = new Parser($query);
     $parseResult = $parser->parse();
     $paramMappings = $parseResult->getParameterMappings();
     $resultSetMapping = $parseResult->getResultSetMapping();
     $paramCount = count($query->getParameters());
     $mappingCount = count($paramMappings);
     if ($paramCount > $mappingCount) {
         throw QueryException::tooManyParameters($mappingCount, $paramCount);
     } elseif ($paramCount < $mappingCount) {
         throw QueryException::tooFewParameters($mappingCount, $paramCount);
     }
     $sqlParams = [];
     $types = [];
     foreach ($query->getParameters() as $parameter) {
         $key = $parameter->getName();
         $value = $parameter->getValue();
         $rsm = $resultSetMapping;
         if (!isset($paramMappings[$key])) {
             throw QueryException::unknownParameter($key);
         }
         if (isset($rsm->metadataParameterMapping[$key]) && $value instanceof ClassMetadata) {
             $value = $value->getMetadataValue($rsm->metadataParameterMapping[$key]);
         }
         $value = $query->processParameterValue($value);
         $type = $parameter->getValue() === $value ? $parameter->getType() : Query\ParameterTypeInferer::inferType($value);
         foreach ($paramMappings[$key] as $position) {
             $types[$position] = $type;
         }
         $sqlPositions = $paramMappings[$key];
         // optimized multi value sql positions away for now,
         // they are not allowed in DQL anyways.
         $value = [$value];
         $countValue = count($value);
         for ($i = 0, $l = count($sqlPositions); $i < $l; $i++) {
             $sqlParams[$sqlPositions[$i]] = $value[$i % $countValue];
         }
     }
     if (count($sqlParams) !== count($types)) {
         throw QueryException::parameterTypeMismatch();
     }
     if ($sqlParams) {
         ksort($sqlParams);
         $sqlParams = array_values($sqlParams);
         ksort($types);
         $types = array_values($types);
     }
     return [$sqlParams, $types];
 }
开发者ID:startupz,项目名称:platform-1,代码行数:60,代码来源:NativeQueryExecutorHelper.php

示例4: processParameterMappings

 /**
  * @param Query                              $query
  * @param array                              $paramMappings
  * @return array
  * @throws \Doctrine\ORM\Query\QueryException
  */
 protected function processParameterMappings(Query $query, $paramMappings)
 {
     $sqlParams = array();
     $types = array();
     /** @var Parameter $parameter */
     foreach ($query->getParameters() as $parameter) {
         $key = $parameter->getName();
         if (!isset($paramMappings[$key])) {
             throw QueryException::unknownParameter($key);
         }
         $value = $query->processParameterValue($parameter->getValue());
         $type = $parameter->getValue() === $value ? $parameter->getType() : Query\ParameterTypeInferer::inferType($value);
         foreach ($paramMappings[$key] as $position) {
             $types[$position] = $type;
         }
         $sqlPositions = $paramMappings[$key];
         $value = array($value);
         $countValue = count($value);
         for ($i = 0, $l = count($sqlPositions); $i < $l; $i++) {
             $sqlParams[$sqlPositions[$i]] = $value[$i % $countValue];
         }
     }
     if (count($sqlParams) != count($types)) {
         throw QueryException::parameterTypeMissmatch();
     }
     if ($sqlParams) {
         ksort($sqlParams);
         $sqlParams = array_values($sqlParams);
         ksort($types);
         $types = array_values($types);
     }
     return array($sqlParams, $types);
 }
开发者ID:ashutosh-srijan,项目名称:findit_akeneo,代码行数:39,代码来源:QueryCountCalculator.php

示例5: cloneQuery

 /**
  * @param  Query $query
  * @return Query
  */
 protected static function cloneQuery(Query $query)
 {
     /* @var $countQuery Query */
     $countQuery = clone $query;
     $params = $query->getParameters();
     $countQuery->setParameters($params);
     return $countQuery;
 }
开发者ID:php-pike,项目名称:pike,代码行数:12,代码来源:Paginate.php

示例6: cloneQuery

 /**
  * @param Query $query
  * @return Query
  */
 protected static function cloneQuery(Query $query)
 {
     /* @var $countQuery Query */
     $countQuery = clone $query;
     $params = $query->getParameters();
     foreach ($params as $key => $param) {
         $countQuery->setParameter($key, $param);
     }
     return $countQuery;
 }
开发者ID:Clansuite,项目名称:Clansuite,代码行数:14,代码来源:Paginate.php

示例7: cloneQuery

 /**
  * Clones a query.
  *
  * @param Query $query The query.
  *
  * @return Query The cloned query.
  */
 private function cloneQuery(Query $query)
 {
     /* @var $cloneQuery Query */
     $cloneQuery = clone $query;
     $cloneQuery->setParameters(clone $query->getParameters());
     foreach ($query->getHints() as $name => $value) {
         $cloneQuery->setHint($name, $value);
     }
     return $cloneQuery;
 }
开发者ID:jirinapravnik,项目名称:common,代码行数:17,代码来源:PaginatorWithoutDistinct.php

示例8: cloneQuery

 /**
  * Clone specified query with parameters.
  *
  * @param Query $query
  *
  * @return Query
  */
 protected function cloneQuery(Query $query)
 {
     $aclAppliedQuery = clone $query;
     $params = $query->getParameters();
     /* @var $param Parameter */
     foreach ($params as $param) {
         $aclAppliedQuery->setParameter($param->getName(), $param->getValue(), $param->getType());
     }
     return $aclAppliedQuery;
 }
开发者ID:axelvnk,项目名称:KunstmaanBundlesCMS,代码行数:17,代码来源:AclHelper.php

示例9: cloneQuery

 /**
  * Clones the given $query and copies all used
  * parameters and hints
  *
  * @param Query $query
  * @return Query
  */
 public static function cloneQuery(Query $query)
 {
     $clonedQuery = clone $query;
     $clonedQuery->setParameters($query->getParameters());
     // attach hints
     foreach ($query->getHints() as $name => $hint) {
         $clonedQuery->setHint($name, $hint);
     }
     return $clonedQuery;
 }
开发者ID:Dren-x,项目名称:mobit,代码行数:17,代码来源:Helper.php

示例10: __construct

 /**
  * @param \Doctrine\ORM\Query $query          The Doctrine Query
  * @param array               $fields         Fields to export
  * @param string              $dateTimeFormat
  */
 public function __construct(Query $query, array $fields, $dateTimeFormat = 'r')
 {
     $this->query = clone $query;
     $this->query->setParameters($query->getParameters());
     foreach ($query->getHints() as $name => $value) {
         $this->query->setHint($name, $value);
     }
     $this->propertyAccessor = PropertyAccess::createPropertyAccessor();
     $this->propertyPaths = array();
     foreach ($fields as $name => $field) {
         if (is_string($name) && is_string($field)) {
             $this->propertyPaths[$name] = new PropertyPath($field);
         } else {
             $this->propertyPaths[$field] = new PropertyPath($field);
         }
     }
     $this->dateTimeFormat = $dateTimeFormat;
 }
开发者ID:LamaDelRay,项目名称:test_symf,代码行数:23,代码来源:DoctrineORMQuerySourceIterator.php

示例11: createWhereInQuery

 /**
  * @param Query $query
  * @param array $ids
  * @param string $namespace
  * @return Query
  */
 public static function createWhereInQuery(Query $query, array $ids, $namespace = 'pgid')
 {
     // don't do this for an empty id array
     if (count($ids) > 0) {
         $whereInQuery = clone $query;
         $whereInQuery->setParameters($query->getParameters());
         $whereInQuery->setHint(Query::HINT_CUSTOM_TREE_WALKERS, array('DoctrineExtensions\\Paginate\\WhereInWalker'));
         $whereInQuery->setHint('id.count', count($ids));
         $whereInQuery->setHint('pg.ns', $namespace);
         $whereInQuery->setFirstResult(null)->setMaxResults(null);
         foreach ($ids as $i => $id) {
             $i = $i + 1;
             $whereInQuery->setParameter("{$namespace}_{$i}", $id);
         }
         return $whereInQuery;
     } else {
         return $query;
     }
 }
开发者ID:noikiy,项目名称:inovi,代码行数:25,代码来源:Paginate.php

示例12: __construct

 /**
  * @param \Doctrine\ORM\Query $query          The Doctrine Query
  * @param array               $fields         Fields to export
  * @param string              $dateTimeFormat
  */
 public function __construct(Query $query, array $fields, $dateTimeFormat = 'r')
 {
     $this->query = clone $query;
     $this->query->setParameters($query->getParameters());
     foreach ($query->getHints() as $name => $value) {
         $this->query->setHint($name, $value);
     }
     // Note : will be deprecated in Symfony 3.0, conserved for 2.2 compatibility
     // Use createPropertyAccessor() for 3.0
     // @see Symfony\Component\PropertyAccess\PropertyAccess
     $this->propertyAccessor = PropertyAccess::getPropertyAccessor();
     $this->propertyPaths = array();
     foreach ($fields as $name => $field) {
         if (is_string($name) && is_string($field)) {
             $this->propertyPaths[$name] = new PropertyPath($field);
         } else {
             $this->propertyPaths[$field] = new PropertyPath($field);
         }
     }
     $this->dateTimeFormat = $dateTimeFormat;
 }
开发者ID:serialken,项目名称:BugTracker,代码行数:26,代码来源:DoctrineORMQuerySourceIterator.php

示例13: cloneQuery

 /**
  * Clones a query.
  *
  * @param Query $query The query.
  *
  * @return Query The cloned query.
  */
 private function cloneQuery(Query $query)
 {
     /* @var $cloneQuery Query */
     $cloneQuery = clone $query;
     $cloneQuery->setParameters($query->getParameters());
     return $cloneQuery;
 }
开发者ID:robertowest,项目名称:CuteFlow-V4,代码行数:14,代码来源:DoctrineORMAdapter.php

示例14: getHash

 protected function getHash(Query $query) : string
 {
     $sql = $query->getSQL();
     $params = $query->getParameters();
     return sha1($sql . serialize($params));
 }
开发者ID:wellcommerce,项目名称:dataset,代码行数:6,代码来源:DataSetCacheManager.php

示例15: cloneQuery

 /**
  * Makes full clone of the given query, including its parameters and hints
  *
  * @param Query $query
  * @return Query
  */
 protected function cloneQuery(Query $query)
 {
     $result = clone $query;
     // clone parameters
     $result->setParameters(clone $query->getParameters());
     // clone hints
     foreach ($query->getHints() as $name => $value) {
         $result->setHint($name, $value);
     }
     return $result;
 }
开发者ID:snorchel,项目名称:platform,代码行数:17,代码来源:BufferedQueryResultIterator.php


注:本文中的Doctrine\ORM\Query::getParameters方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。