function NumericArgument::query
Set up the query for this argument.
The argument sent may be found at $this->argument.
Overrides ArgumentPluginBase::query
1 method overrides NumericArgument::query()
- UidRevision::query in core/
modules/ node/ src/ Plugin/ views/ argument/ UidRevision.php  - Set up the query for this argument.
 
File
- 
              core/
modules/ views/ src/ Plugin/ views/ argument/ NumericArgument.php, line 96  
Class
- NumericArgument
 - Basic argument handler for arguments that are numeric.
 
Namespace
Drupal\views\Plugin\views\argumentCode
public function query($group_by = FALSE) {
  $this->ensureMyTable();
  if (!empty($this->options['break_phrase'])) {
    $break = static::breakString($this->argument, FALSE);
    $this->value = $break->value;
    $this->operator = $break->operator;
  }
  else {
    $this->value = [
      $this->argument,
    ];
  }
  $placeholder = $this->placeholder();
  $null_check = empty($this->options['not']) ? '' : " OR {$this->tableAlias}.{$this->realField} IS NULL";
  if (count($this->value) > 1) {
    $operator = empty($this->options['not']) ? 'IN' : 'NOT IN';
    $placeholder .= '[]';
    $this->query
      ->addWhereExpression(0, "{$this->tableAlias}.{$this->realField} {$operator}({$placeholder})" . $null_check, [
      $placeholder => $this->value,
    ]);
  }
  else {
    $operator = empty($this->options['not']) ? '=' : '!=';
    $this->query
      ->addWhereExpression(0, "{$this->tableAlias}.{$this->realField} {$operator} {$placeholder}" . $null_check, [
      $placeholder => $this->argument,
    ]);
  }
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.