function Select::compile
Same name in other branches
- 9 core/lib/Drupal/Core/Database/Query/Select.php \Drupal\Core\Database\Query\Select::compile()
- 8.9.x core/lib/Drupal/Core/Database/Query/Select.php \Drupal\Core\Database\Query\Select::compile()
- 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 241
Class
- Select
- Query builder for SELECT statements.
Namespace
Drupal\Core\Database\QueryCode
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.