protected function ManyToOne::summaryQuery in Drupal 9
Same name and namespace in other branches
- 8 core/modules/views/src/Plugin/views/argument/ManyToOne.php \Drupal\views\Plugin\views\argument\ManyToOne::summaryQuery()
Build the info for the summary query.
This must:
- addGroupBy: group on this field in order to create summaries.
- addField: add a 'num_nodes' field for the count. Usually it will be a count on $view->base_field
- setCountField: Reset the count field so we get the right paging.
Return value
The alias used to get the number of records (count) for this entry.
Overrides ArgumentPluginBase::summaryQuery
File
- core/
modules/ views/ src/ Plugin/ views/ argument/ ManyToOne.php, line 156
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
protected function summaryQuery() {
$field = $this->table . '.' . $this->field;
$join = $this
->getJoin();
if (!empty($this->options['require_value'])) {
$join->type = 'INNER';
}
if (empty($this->options['add_table']) || empty($this->view->many_to_one_tables[$field])) {
$this->tableAlias = $this->query
->ensureTable($this->table, $this->relationship, $join);
}
else {
$this->tableAlias = $this->helper
->summaryJoin();
}
// Add the field.
$this->base_alias = $this->query
->addField($this->tableAlias, $this->realField);
$this
->summaryNameField();
return $this
->summaryBasics();
}