function SelectQuery::compile

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.