當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Query\ParserResult類代碼示例

本文整理匯總了PHP中Doctrine\ORM\Query\ParserResult的典型用法代碼示例。如果您正苦於以下問題:PHP ParserResult類的具體用法?PHP ParserResult怎麽用?PHP ParserResult使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了ParserResult類的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: __construct

 /**
  * Constructor.
  *
  * Stores various parameters that are otherwise unavailable
  * because Doctrine\ORM\Query\SqlWalker keeps everything private without
  * accessors.
  *
  * @param \Doctrine\ORM\Query              $query
  * @param \Doctrine\ORM\Query\ParserResult $parserResult
  * @param array                            $queryComponents
  */
 public function __construct($query, $parserResult, array $queryComponents)
 {
     $this->platform = $query->getEntityManager()->getConnection()->getDatabasePlatform();
     $this->rsm = $parserResult->getResultSetMapping();
     $this->queryComponents = $queryComponents;
     parent::__construct($query, $parserResult, $queryComponents);
 }
開發者ID:neteasy-work,項目名稱:hkgbf_crm,代碼行數:18,代碼來源:CountOutputWalker.php

示例2: __construct

 /**
  * Initializes a new SqlWalker instance with the given Query and ParserResult.
  *
  * @param Query $query The parsed Query.
  * @param ParserResult $parserResult The result of the parsing process.
  */
 public function __construct($query, $parserResult, array $queryComponents)
 {
     $this->_resultSetMapping = $parserResult->getResultSetMapping();
     $this->_query = $query;
     $this->_em = $query->getEntityManager();
     $this->_parserResult = $parserResult;
     $this->_queryComponents = $queryComponents;
 }
開發者ID:jackbravo,項目名稱:doctrine,代碼行數:14,代碼來源:SqlWalker.php

示例3: _createParserResult

 /** Helper method */
 protected function _createParserResult($resultSetMapping, $isMixedQuery = false)
 {
     $parserResult = new ParserResult();
     $parserResult->setResultSetMapping($resultSetMapping);
     //$parserResult->setDefaultQueryComponentAlias(key($queryComponents));
     //$parserResult->setTableAliasMap($tableToClassAliasMap);
     $parserResult->setMixedQuery($isMixedQuery);
     return $parserResult;
 }
開發者ID:selimcr,項目名稱:servigases,代碼行數:10,代碼來源:HydrationTestCase.php

示例4: __construct

 /**
  * Constructor.
  *
  * Stores various parameters that are otherwise unavailable
  * because Doctrine\ORM\Query\SqlWalker keeps everything private without
  * accessors.
  *
  * @param \Doctrine\ORM\Query              $query
  * @param \Doctrine\ORM\Query\ParserResult $parserResult
  * @param array                            $queryComponents
  */
 public function __construct($query, $parserResult, array $queryComponents)
 {
     $this->platform = $query->getEntityManager()->getConnection()->getDatabasePlatform();
     $this->rsm = $parserResult->getResultSetMapping();
     $this->queryComponents = $queryComponents;
     // Reset limit and offset
     $this->firstResult = $query->getFirstResult();
     $this->maxResults = $query->getMaxResults();
     $query->setFirstResult(null)->setMaxResults(null);
     parent::__construct($query, $parserResult, $queryComponents);
 }
開發者ID:dracony,項目名稱:forked-php-orm-benchmark,代碼行數:22,代碼來源:LimitSubqueryOutputWalker.php

示例5: parse

 /**
  * Parses a query string.
  *
  * @return ParserResult
  */
 public function parse()
 {
     $AST = $this->getAST();
     if (($customWalkers = $this->_query->getHint(Query::HINT_CUSTOM_TREE_WALKERS)) !== false) {
         $this->_customTreeWalkers = $customWalkers;
     }
     if (($customOutputWalker = $this->_query->getHint(Query::HINT_CUSTOM_OUTPUT_WALKER)) !== false) {
         $this->_customOutputWalker = $customOutputWalker;
     }
     // Run any custom tree walkers over the AST
     if ($this->_customTreeWalkers) {
         $treeWalkerChain = new TreeWalkerChain($this->_query, $this->_parserResult, $this->_queryComponents);
         foreach ($this->_customTreeWalkers as $walker) {
             $treeWalkerChain->addTreeWalker($walker);
         }
         switch (true) {
             case $AST instanceof AST\UpdateStatement:
                 $treeWalkerChain->walkUpdateStatement($AST);
                 break;
             case $AST instanceof AST\DeleteStatement:
                 $treeWalkerChain->walkDeleteStatement($AST);
                 break;
             case $AST instanceof AST\SelectStatement:
             default:
                 $treeWalkerChain->walkSelectStatement($AST);
         }
     }
     $outputWalkerClass = $this->_customOutputWalker ?: __NAMESPACE__ . '\\SqlWalker';
     $outputWalker = new $outputWalkerClass($this->_query, $this->_parserResult, $this->_queryComponents);
     // Assign an SQL executor to the parser result
     $this->_parserResult->setSqlExecutor($outputWalker->getExecutor($AST));
     return $this->_parserResult;
 }
開發者ID:pollux1er,項目名稱:dlawebdev2,代碼行數:38,代碼來源:Parser.php

示例6: parse

 /**
  * Parses a query string.
  *
  * @return ParserResult
  */
 public function parse()
 {
     $AST = $this->getAST();
     $this->fixIdentificationVariableOrder($AST);
     $this->assertSelectEntityRootAliasRequirement();
     if (($customWalkers = $this->_query->getHint(Query::HINT_CUSTOM_TREE_WALKERS)) !== false) {
         $this->_customTreeWalkers = $customWalkers;
     }
     if (($customOutputWalker = $this->_query->getHint(Query::HINT_CUSTOM_OUTPUT_WALKER)) !== false) {
         $this->_customOutputWalker = $customOutputWalker;
     }
     // Run any custom tree walkers over the AST
     if ($this->_customTreeWalkers) {
         $treeWalkerChain = new TreeWalkerChain($this->_query, $this->_parserResult, $this->_queryComponents);
         foreach ($this->_customTreeWalkers as $walker) {
             $treeWalkerChain->addTreeWalker($walker);
         }
         if ($AST instanceof AST\SelectStatement) {
             $treeWalkerChain->walkSelectStatement($AST);
         } else {
             if ($AST instanceof AST\UpdateStatement) {
                 $treeWalkerChain->walkUpdateStatement($AST);
             } else {
                 $treeWalkerChain->walkDeleteStatement($AST);
             }
         }
     }
     if ($this->_customOutputWalker) {
         $outputWalker = new $this->_customOutputWalker($this->_query, $this->_parserResult, $this->_queryComponents);
     } else {
         $outputWalker = new SqlWalker($this->_query, $this->_parserResult, $this->_queryComponents);
     }
     // Assign an SQL executor to the parser result
     $this->_parserResult->setSqlExecutor($outputWalker->getExecutor($AST));
     return $this->_parserResult;
 }
開發者ID:dracony,項目名稱:forked-php-orm-benchmark,代碼行數:41,代碼來源:Parser.php

示例7: walkInputParameter

 /**
  * {@inheritdoc}
  */
 public function walkInputParameter($inputParam)
 {
     $this->parserResult->addParameterMapping($inputParam->name, $this->sqlParamIndex++);
     $parameter = $this->query->getParameter($inputParam->name);
     if ($parameter && Type::hasType($type = $parameter->getType())) {
         return Type::getType($type)->convertToDatabaseValueSQL('?', $this->platform);
     }
     return '?';
 }
開發者ID:BozzaCoon,項目名稱:SPHERE-Framework,代碼行數:12,代碼來源:SqlWalker.php

示例8: _doExecute

 /**
  * {@inheritdoc}
  */
 protected function _doExecute()
 {
     $executor = $this->_parse()->getSqlExecutor();
     if ($this->_queryCacheProfile) {
         $executor->setQueryCacheProfile($this->_queryCacheProfile);
     }
     if ($this->_resultSetMapping === null) {
         $this->_resultSetMapping = $this->_parserResult->getResultSetMapping();
     }
     // Prepare parameters
     $paramMappings = $this->_parserResult->getParameterMappings();
     if (count($paramMappings) != count($this->parameters)) {
         throw QueryException::invalidParameterNumber();
     }
     list($sqlParams, $types) = $this->processParameterMappings($paramMappings);
     return $executor->execute($this->_em->getConnection(), $sqlParams, $types);
 }
開發者ID:Dren-x,項目名稱:mobit,代碼行數:20,代碼來源:Query.php

示例9: walkInputParameter

 /**
  * {@inheritdoc}
  */
 public function walkInputParameter($inputParam)
 {
     $this->parserResult->addParameterMapping($inputParam->name, $this->sqlParamIndex++);
     return '?';
 }
開發者ID:nemekzg,項目名稱:doctrine2,代碼行數:8,代碼來源:SqlWalker.php

示例10: _doExecute

 /**
  * {@inheritdoc}
  */
 protected function _doExecute()
 {
     $executor = $this->_parse()->getSqlExecutor();
     if ($this->_queryCacheProfile) {
         $executor->setQueryCacheProfile($this->_queryCacheProfile);
     }
     if ($this->_resultSetMapping === null) {
         $this->_resultSetMapping = $this->_parserResult->getResultSetMapping();
     }
     // Prepare parameters
     $paramMappings = $this->_parserResult->getParameterMappings();
     if (count($paramMappings) != count($this->parameters)) {
         throw QueryException::invalidParameterNumber();
     }
     // evict all cache for the entity region
     if ($this->hasCache && isset($this->_hints[self::HINT_CACHE_EVICT]) && $this->_hints[self::HINT_CACHE_EVICT]) {
         $this->evictEntityCacheRegion();
     }
     list($sqlParams, $types) = $this->processParameterMappings($paramMappings);
     return $executor->execute($this->_em->getConnection(), $sqlParams, $types);
 }
開發者ID:josercl,項目名稱:forum,代碼行數:24,代碼來源:Query.php


注:本文中的Doctrine\ORM\Query\ParserResult類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。