function Select::arguments

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Database/Query/Select.php \Drupal\Core\Database\Query\Select::arguments()
  2. 10 core/lib/Drupal/Core/Database/Query/Select.php \Drupal\Core\Database\Query\Select::arguments()
  3. 11.x core/lib/Drupal/Core/Database/Query/Select.php \Drupal\Core\Database\Query\Select::arguments()

Overrides QueryConditionTrait::arguments

1 call to Select::arguments()
Select::getArguments in core/lib/Drupal/Core/Database/Query/Select.php
Compiles and returns an associative array of the arguments for this prepared statement.

File

core/lib/Drupal/Core/Database/Query/Select.php, line 189

Class

Select
Query builder for SELECT statements.

Namespace

Drupal\Core\Database\Query

Code

public function arguments() {
    if (!$this->compiled()) {
        return NULL;
    }
    $args = $this->condition
        ->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 SelectInterface) {
            $args += $table['table']->arguments();
        }
        // If the join condition is an object, grab its arguments recursively.
        if (!empty($table['condition']) && $table['condition'] instanceof ConditionInterface) {
            $args += $table['condition']->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;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.