1 select.inc public SelectQuery::compile(DatabaseConnection $connection, QueryPlaceholderInterface $queryPlaceholder)

Compiles the saved conditions for later retrieval.

This method does not return anything. It only prepares data to be retrieved via __toString() and arguments().

Parameters

DatabaseConnection $connection: The database connection for which to compile the conditionals.

QueryPlaceholderInterface $queryPlaceholder: The query this condition belongs to. If not given, the current query is used.

Overrides QueryConditionInterface::compile

File

core/includes/database/select.inc, line 1343
Contains classes and interfaces for Select queries.

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);
    }
  }

  // If there are any dependent queries to UNION, compile it recursively.
  foreach ($this->union as $union) {
    $union['query']->compile($connection, $queryPlaceholder);
  }
}