function SelectQuery::compile
Compiles the saved conditions for later retrieval.
This method does not return anything, but simply prepares data to be retrieved via __toString() and arguments().
Parameters
$connection: The database connection for which to compile the conditionals.
$queryPlaceholder: The query this condition belongs to. If not given, the current query is used.
Overrides QueryConditionInterface::compile
2 calls to SelectQuery::compile()
- SelectQuery::getArguments in includes/
database/ select.inc  - Compiles and returns an associative array of the arguments for this prepared statement.
 - SelectQuery::__toString in includes/
database/ select.inc  - Implements PHP magic __toString method to convert the query to a string.
 
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.