getParameters() public method

Gets all defined query parameters for the query being constructed indexed by parameter index or name.
public getParameters ( ) : array
return array The currently defined query parameters indexed by parameter index or name.
コード例 #1
0
ファイル: RepositoryPaginator.php プロジェクト: lynx/lynx
 /**
  * @return bool|string
  */
 public function getTotal()
 {
     if ($this->total) {
         return $this->total;
     }
     $queryBuilder = $this->repository->getEm()->createQueryBuilder();
     $fromParts = $this->queryBuilder->getQueryPart('from');
     if ($fromParts) {
         foreach ($fromParts as $from) {
             $queryBuilder->from($from['table'], $from['alias']);
         }
     }
     $queryBuilder->select('COUNT(*)');
     $where = $this->queryBuilder->getQueryPart('where');
     if ($where) {
         $queryBuilder->add('where', (string) $where);
     }
     $parameters = $this->queryBuilder->getParameters();
     if ($parameters) {
         foreach ($parameters as $key => $value) {
             $queryBuilder->setParameter($key, $value);
         }
     }
     return $this->total = $queryBuilder->execute()->fetchColumn();
 }
コード例 #2
0
 /**
  * @param QueryBuilder $builder
  */
 public static function logBuilder($builder)
 {
     $sql = $builder->getSQL();
     $params = $builder->getParameters();
     self::log("Running Query: " . $sql . " with params:");
     self::logObject($params);
 }
コード例 #3
0
 public function testItShouldWorksWithParametersInTheOrX()
 {
     $qb = new QueryBuilder($this->connection);
     $qb->select('p.id')->from('posts', 'p')->setParameter('status', 'odd');
     $aclFilter = new DoctrineDbalAclFilter($qb);
     $aclFilter->setAclSchema($this->aclSchema);
     $aclFilter->apply('p', 'id', 'post-', ['user-1'], 1, ['status = :status']);
     $this->assertEquals(['status' => 'odd', 'acl_prefix' => 'post-', 'acl_identifiers' => ['user-1'], 'acl_mask' => 1], $qb->getParameters());
 }
コード例 #4
0
 /**
  * @test
  */
 public function getParametersDelegatesToConcreteQueryBuilder()
 {
     $this->concreteQueryBuilder->getParameters()->shouldBeCalled()->willReturn(['aField' => 'aValue']);
     $this->subject->getParameters();
 }
コード例 #5
0
ファイル: ChartQuery.php プロジェクト: Yame-/mautic
 /**
  * Modify the query to count occurences of a value in a column
  *
  * @param  QueryBuilder $table        without prefix
  * @param  string       $uniqueColumn name
  * @param  array        $options      for special behavior
  * @param  string       $tablePrefix
  */
 public function modifyCountQuery(QueryBuilder &$query, $uniqueColumn, $options = [], $tablePrefix = 't')
 {
     $query->select('COUNT(' . $tablePrefix . '.' . $uniqueColumn . ') AS count');
     // Count only unique values
     if (!empty($options['getUnique'])) {
         $selectAlso = '';
         if (isset($options['selectAlso'])) {
             $selectAlso = ', ' . implode(', ', $options['selectAlso']);
         }
         // Modify the previous query
         $query->select($tablePrefix . '.' . $uniqueColumn . $selectAlso);
         $query->having('COUNT(*) = 1')->groupBy($tablePrefix . '.' . $uniqueColumn . $selectAlso);
         // Create a new query with subquery of the previous query
         $uniqueQuery = $this->connection->createQueryBuilder();
         $uniqueQuery->select('COUNT(' . $tablePrefix . '.' . $uniqueColumn . ') AS count')->from('(' . $query->getSql() . ')', $tablePrefix);
         // Apply params from the previous query to the new query
         $uniqueQuery->setParameters($query->getParameters());
         // Replace the new query with previous query
         $query = $uniqueQuery;
     }
     return $query;
 }
コード例 #6
0
 public function testClone()
 {
     $qb = new QueryBuilder($this->conn);
     $qb->select('u.id')->from('users', 'u')->where('u.id = :test');
     $qb->setParameter(':test', (object) 1);
     $qb_clone = clone $qb;
     $this->assertEquals((string) $qb, (string) $qb_clone);
     $qb->andWhere('u.id = 1');
     $this->assertFalse($qb->getQueryParts() === $qb_clone->getQueryParts());
     $this->assertFalse($qb->getParameters() === $qb_clone->getParameters());
 }
コード例 #7
0
 /**
  * Gets all defined query parameters for the query being constructed indexed by parameter index or name.
  *
  * @return array The currently defined query parameters indexed by parameter index or name.
  */
 public function getParameters()
 {
     return $this->queryBuilder->getParameters();
 }
コード例 #8
0
 /**
  * Gets all defined query parameters for the query being constructed indexed by parameter index or name.
  *
  * @return array The currently defined query parameters indexed by parameter index or name.
  */
 public function getParameters() : array
 {
     return $this->concreteQueryBuilder->getParameters();
 }
コード例 #9
0
ファイル: SqlQueryBuilder.php プロジェクト: Maksold/platform
 /**
  * Gets all defined query parameters for the query being constructed.
  *
  * @return array The currently defined query parameters.
  */
 public function getParameters()
 {
     return $this->qb->getParameters();
 }