ManyToOneHelper::summaryJoin

public ManyToOneHelper::summaryJoin()

Provide the proper join for summary queries. This is important in part because it will cooperate with other arguments if possible.

File

core/modules/views/src/ManyToOneHelper.php, line 117

Class

ManyToOneHelper
This many to one helper object is used on both arguments and filters.

Namespace

Drupal\views

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public function summaryJoin() {
  $field = $this->handler->relationship . '_' . $this->handler->table . '.' . $this->handler->field;
  $join = $this->getJoin();
 
  // shortcuts
  $options = $this->handler->options;
  $view = $this->handler->view;
  $query = $this->handler->query;
 
  if (!empty($options['require_value'])) {
    $join->type = 'INNER';
  }
 
  if (empty($options['add_table']) || empty($view->many_to_one_tables[$field])) {
    return $query->ensureTable($this->handler->table, $this->handler->relationship, $join);
  }
  else {
    if (!empty($view->many_to_one_tables[$field])) {
      foreach ($view->many_to_one_tables[$field] as $value) {
        $join->extra = array(
          array(
            'field' => $this->handler->realField,
            'operator' => '!=',
            'value' => $value,
            'numeric' => !empty($this->definition['numeric']),
          ),
        );
      }
    }
    return $this->addTable($join);
  }
}
doc_Drupal
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.