public function ManyToOne::query in Views (for Drupal 7) 8.3
Set up the query for this argument.
The argument sent may be found at $this->argument.
Overrides ArgumentPluginBase::query
File
- lib/
Drupal/ views/ Plugin/ views/ argument/ ManyToOne.php, line 101 - Definition of Drupal\views\Plugin\views\argument\ManyToOne.
Class
- ManyToOne
- An argument handler for use in fields that have a many to one relationship with the table(s) to the left. This adds a bunch of options that are reasonably common with this type of relationship. Definition terms:
Namespace
Drupal\views\Plugin\views\argumentCode
public function query($group_by = FALSE) {
$empty = FALSE;
if (isset($this->definition['zero is null']) && $this->definition['zero is null']) {
if (empty($this->argument)) {
$empty = TRUE;
}
}
else {
if (!isset($this->argument)) {
$empty = TRUE;
}
}
if ($empty) {
parent::ensureMyTable();
$this->query
->add_where(0, "{$this->tableAlias}.{$this->realField}", NULL, 'IS NULL');
return;
}
if (!empty($this->options['break_phrase'])) {
if (!empty($this->definition['numeric'])) {
$this
->breakPhrase($this->argument, $this);
}
else {
$this
->breakPhraseString($this->argument, $this);
}
}
else {
$this->value = array(
$this->argument,
);
$this->operator = 'or';
}
$this->helper
->add_filter();
}