Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. NumericArgument.php

function NumericArgument::query

Overrides ArgumentPluginBase::query

File

core/modules/views/src/Plugin/views/argument/NumericArgument.php, line 92

Class

NumericArgument
Basic argument handler for arguments that are numeric.

Namespace

Drupal\views\Plugin\views\argument

Code

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,
        ]);
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal