1 select.inc | public SelectQuery::compile(DatabaseConnection $connection, QueryPlaceholderInterface $queryPlaceholder) |
Compiles the saved conditions for later retrieval.
This method does not return anything. It only prepares data to be retrieved via __toString() and arguments().
Parameters
DatabaseConnection $connection: The database connection for which to compile the conditionals.
QueryPlaceholderInterface $queryPlaceholder: The query this condition belongs to. If not given, the current query is used.
Overrides QueryConditionInterface::compile
File
- core/
includes/ database/ select.inc, line 1343 - Contains classes and interfaces for Select queries.
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);
}
}
// If there are any dependent queries to UNION, compile it recursively.
foreach ($this->union as $union) {
$union['query']->compile($connection, $queryPlaceholder);
}
}