You are here

function efq_views_handler_argument_entity_integer::query in EntityFieldQuery Views Backend 7

Set up the query for this argument.

The argument sent may be found at $this->argument.

Parameters

bool $group_by: Whether the query uses a group-by.

Overrides views_handler_argument_numeric::query

File

handlers/efq_views_handler_argument_entity_integer.inc, line 7

Class

efq_views_handler_argument_entity_integer
Integer argument handler for entity keys.

Code

function query() {
  if (!empty($this->options['break_phrase'])) {
    views_break_phrase($this->argument, $this);
  }
  else {
    $this->value = array(
      $this->argument,
    );
    $this->operator = 'and';
  }
  if (count($this->value) > 1 && $this->operator == 'or') {
    $operator = empty($this->options['not']) ? 'IN' : 'NOT IN';
    $this->query->query
      ->entityCondition($this->real_field, array_map('intval', $this->value), $operator);
  }
  else {
    $operator = empty($this->options['not']) ? '=' : '<>';
    foreach ($this->value as $value) {
      $this->query->query
        ->entityCondition($this->real_field, (int) $value, $operator);
    }
  }
}