build() public method

Generates query from a Query object.
public build ( Query $query ) : array
$query Query the [[Query]] object from which the query will be generated
return array the generated SQL statement (the first array element) and the corresponding parameters to be bound to the SQL statement (the second array element).
コード例 #1
0
 /**
  * Generates query from a [[Query]] object.
  * @param Query $query the [[Query]] object from which the query will be generated
  * @return array the generated SQL statement (the first array element) and the corresponding
  * parameters to be bound to the SQL statement (the second array element).
  */
 public function build($query)
 {
     if ($query->query instanceof Param) {
         $query->query = $query->query->toArray();
     }
     return parent::build($query);
 }
コード例 #2
0
 public function testQueryBuilderRespectsQuery()
 {
     $queryParts = ['field' => ['title' => 'yii']];
     $queryBuilder = new QueryBuilder($this->getConnection());
     $query = new Query();
     $query->query = $queryParts;
     $build = $queryBuilder->build($query);
     $this->assertTrue(array_key_exists('queryParts', $build));
     $this->assertTrue(array_key_exists('query', $build['queryParts']));
     $this->assertFalse(array_key_exists('match_all', $build['queryParts']), 'Match all should not be set');
     $this->assertSame($queryParts, $build['queryParts']['query']);
 }