public function Select::preExecute in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Core/Database/Query/Select.php \Drupal\Core\Database\Query\Select::preExecute()
Generic preparation and validation for a SELECT query.
Return value
TRUE if the validation was successful, FALSE if not.
Overrides SelectInterface::preExecute
1 call to Select::preExecute()
- Select::execute in core/
lib/ Drupal/ Core/ Database/ Query/ Select.php - Runs the query against the database.
File
- core/
lib/ Drupal/ Core/ Database/ Query/ Select.php, line 434 - Contains \Drupal\Core\Database\Query\Select.
Class
- Select
- Query builder for SELECT statements.
Namespace
Drupal\Core\Database\QueryCode
public function preExecute(SelectInterface $query = NULL) {
// If no query object is passed in, use $this.
if (!isset($query)) {
$query = $this;
}
// Only execute this once.
if ($query
->isPrepared()) {
return TRUE;
}
// Modules may alter all queries or only those having a particular tag.
if (isset($this->alterTags)) {
$hooks = array(
'query',
);
foreach ($this->alterTags as $tag => $value) {
$hooks[] = 'query_' . $tag;
}
\Drupal::moduleHandler()
->alter($hooks, $query);
}
$this->prepared = TRUE;
// Now also prepare any sub-queries.
foreach ($this->tables as $table) {
if ($table['table'] instanceof SelectInterface) {
$table['table']
->preExecute();
}
}
foreach ($this->union as $union) {
$union['query']
->preExecute();
}
return $this->prepared;
}