public function ManyToOne::query in Drupal 8
Same name and namespace in other branches
- 9 core/modules/views/src/Plugin/views/argument/ManyToOne.php \Drupal\views\Plugin\views\argument\ManyToOne::query()
Set up the query for this argument.
The argument sent may be found at $this->argument.
Overrides ArgumentPluginBase::query
File
- core/
modules/ views/ src/ Plugin/ views/ argument/ ManyToOne.php, line 99
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
->addWhere(0, "{$this->tableAlias}.{$this->realField}", NULL, 'IS NULL');
return;
}
if (!empty($this->options['break_phrase'])) {
$force_int = !empty($this->definition['numeric']);
$this
->unpackArgumentValue($force_int);
}
else {
$this->value = [
$this->argument,
];
$this->operator = 'or';
}
$this->helper
->addFilter();
}