function NumericArgument::query
Same name in other branches
- 9 core/modules/views/src/Plugin/views/argument/NumericArgument.php \Drupal\views\Plugin\views\argument\NumericArgument::query()
- 10 core/modules/views/src/Plugin/views/argument/NumericArgument.php \Drupal\views\Plugin\views\argument\NumericArgument::query()
- 11.x core/modules/views/src/Plugin/views/argument/NumericArgument.php \Drupal\views\Plugin\views\argument\NumericArgument::query()
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 95
Class
- NumericArgument
- Basic argument handler for arguments that are numeric. Incorporates break_phrase.
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.