You are here

function GroupwiseMax::alter_subquery_condition in Views (for Drupal 7) 8.3

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::alter_subquery_condition()
GroupwiseMax::left_query in lib/Drupal/views/Plugin/views/relationship/GroupwiseMax.php
Generate a subquery given the user options, as set in the options. These are passed in rather than picked up from the object because we generate the subquery when the options are saved, rather than when the view is run. This saves considerable time.

File

lib/Drupal/views/Plugin/views/relationship/GroupwiseMax.php, line 313
Definition of Drupal\views\Plugin\views\relationship\GroupwiseMax.

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

function alter_subquery_condition(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
          ->condition_namespace($condition['field']);
      }
      elseif (is_object($condition['field'])) {
        $sub_conditions =& $condition['field']
          ->conditions();
        $this
          ->alter_subquery_condition($query, $sub_conditions);
      }
    }
  }
}