function SelectQuery::compile

Overrides QueryConditionInterface::compile

2 calls to SelectQuery::compile()
SelectQuery::getArguments in includes/database/
Compiles and returns an associative array of the arguments for this prepared statement.
SelectQuery::__toString in includes/database/
Implements PHP magic __toString method to convert the query to a string.


includes/database/, line 1095


Query builder for SELECT statements.


public function compile(DatabaseConnection $connection, QueryPlaceholderInterface $queryPlaceholder) {
        ->compile($connection, $queryPlaceholder);
        ->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.