public function SelectQuery::arguments

public SelectQuery::arguments()

Gets a complete list of all values to insert into the prepared statement.

Return value

An associative array of placeholders and values.

Overrides QueryConditionInterface::arguments

File

includes/database/select.inc, line 1016

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;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/includes!database!select.inc/function/SelectQuery::arguments/7.x