function Select::compile

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Database/Query/Select.php \Drupal\Core\Database\Query\Select::compile()
  2. 10 core/lib/Drupal/Core/Database/Query/Select.php \Drupal\Core\Database\Query\Select::compile()
  3. 11.x core/lib/Drupal/Core/Database/Query/Select.php \Drupal\Core\Database\Query\Select::compile()

Overrides QueryConditionTrait::compile

2 calls to Select::compile()
Select::getArguments in core/lib/Drupal/Core/Database/Query/Select.php
Compiles and returns an associative array of the arguments for this prepared statement.
Select::__toString in core/lib/Drupal/Core/Database/Query/Select.php
Implements PHP magic __toString method to convert the query to a string.

File

core/lib/Drupal/Core/Database/Query/Select.php, line 228

Class

Select
Query builder for SELECT statements.

Namespace

Drupal\Core\Database\Query

Code

public function compile(Connection $connection, PlaceholderInterface $queryPlaceholder) {
    $this->condition
        ->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 SelectInterface) {
            $table['table']->compile($connection, $queryPlaceholder);
        }
        // Make sure join conditions are also compiled.
        if (!empty($table['condition']) && $table['condition'] instanceof ConditionInterface) {
            $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.