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.