public function Select::compile in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Database/Query/Select.php \Drupal\Core\Database\Query\Select::compile()
Compiles the saved conditions for later retrieval.
This method does not return anything, but simply prepares data to be retrieved via __toString() and arguments().
Parameters
$connection: The database connection for which to compile the conditionals.
$queryPlaceholder: The query this condition belongs to. If not given, the current query is used.
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\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);
}
}