protected function 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 drupal/core/modules/views/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

drupal/core/modules/views/lib/Drupal/views/Plugin/views/relationship/GroupwiseMax.php, line 312
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

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);
      }
    }
  }
}