1 select.inc | public SelectQuery::arguments() |
Gets a complete list of all values to insert into the prepared statement.
Return value
array: An associative array of placeholders and values.
Overrides QueryConditionInterface::arguments
File
- core/
includes/ database/ select.inc, line 1258 - Contains classes and interfaces for Select queries.
Class
- SelectQuery
- Query builder for SELECT statements.
Code
public function arguments() {
if (!$this->compiled()) {
return NULL;
}
$args = $this->where->arguments() + $this->having->arguments();
foreach ($this->tables as $table) {
if ($table['arguments']) {
$args += $table['arguments'];
}
// If this table is a subquery, grab its arguments recursively.
if ($table['table'] instanceof SelectQueryInterface) {
$args += $table['table']->arguments();
}
}
foreach ($this->expressions as $expression) {
if ($expression['arguments']) {
$args += $expression['arguments'];
}
}
// If there are any dependent queries to UNION,
// incorporate their arguments recursively.
foreach ($this->union as $union) {
$args += $union['query']->arguments();
}
return $args;
}