function SelectQuery::compile

File

includes/database/select.inc, line 1095

Class

SelectQuery
Query builder for SELECT statements.

Code

public function compile(DatabaseConnection $connection, QueryPlaceholderInterface $queryPlaceholder) {
  $this->where
    ->compile($connection, $queryPlaceholder);
  $this->having
    ->compile($connection, $queryPlaceholder);
  foreach ($this->tables as $table) {
    // If this table is a subquery, compile it recursively.
    if ($table['table'] instanceof SelectQueryInterface) {
      $table['table']->compile($connection, $queryPlaceholder);
    }
    // Make sure join conditions are also compiled.
    if (!empty($table['condition']) && $table['condition'] instanceof QueryConditionInterface) {
      $table['condition']->compile($connection, $queryPlaceholder);
    }
  }
  // If there are any dependent queries to UNION, compile it recursively.
  foreach ($this->union as $union) {
    $union['query']->compile($connection, $queryPlaceholder);
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.