You are here

protected function GroupwiseMax::alterSubqueryCondition in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/views/src/Plugin/views/relationship/GroupwiseMax.php \Drupal\views\Plugin\views\relationship\GroupwiseMax::alterSubqueryCondition()

Recursive helper to add a namespace to conditions.

Similar to _views_query_tag_alter_condition().

(Though why is the condition we get in a simple query 3 levels deep???)

1 call to GroupwiseMax::alterSubqueryCondition()
GroupwiseMax::leftQuery in core/modules/views/src/Plugin/views/relationship/GroupwiseMax.php
Generate a subquery given the user options, as set in the options.

File

core/modules/views/src/Plugin/views/relationship/GroupwiseMax.php, line 302

Class

GroupwiseMax
Relationship handler that allows a groupwise maximum of the linked in table. For a definition, see: http://dev.mysql.com/doc/refman/5.0/en/example-maximum-column-group-row.... In lay terms, instead of joining to get all matching records in the…

Namespace

Drupal\views\Plugin\views\relationship

Code

protected function alterSubqueryCondition(AlterableInterface $query, &$conditions) {
  foreach ($conditions as $condition_id => &$condition) {

    // Skip the #conjunction element.
    if (is_numeric($condition_id)) {
      if (is_string($condition['field'])) {
        $condition['field'] = $this
          ->conditionNamespace($condition['field']);
      }
      elseif (is_object($condition['field'])) {
        $sub_conditions =& $condition['field']
          ->conditions();
        $this
          ->alterSubqueryCondition($query, $sub_conditions);
      }
    }
  }
}