GroupByNumeric.php

Same filename in this branch
  1. 11.x core/modules/views/src/Plugin/views/filter/GroupByNumeric.php
  2. 11.x core/modules/views/src/Plugin/views/argument/GroupByNumeric.php
Same filename and directory in other branches
  1. 9 core/modules/views/src/Plugin/views/sort/GroupByNumeric.php
  2. 9 core/modules/views/src/Plugin/views/filter/GroupByNumeric.php
  3. 9 core/modules/views/src/Plugin/views/argument/GroupByNumeric.php
  4. 8.9.x core/modules/views/src/Plugin/views/sort/GroupByNumeric.php
  5. 8.9.x core/modules/views/src/Plugin/views/filter/GroupByNumeric.php
  6. 8.9.x core/modules/views/src/Plugin/views/argument/GroupByNumeric.php
  7. 10 core/modules/views/src/Plugin/views/sort/GroupByNumeric.php
  8. 10 core/modules/views/src/Plugin/views/filter/GroupByNumeric.php
  9. 10 core/modules/views/src/Plugin/views/argument/GroupByNumeric.php

Namespace

Drupal\views\Plugin\views\sort

File

core/modules/views/src/Plugin/views/sort/GroupByNumeric.php

View source
<?php

namespace Drupal\views\Plugin\views\sort;

use Drupal\views\Attribute\ViewsSort;
use Drupal\views\Plugin\views\display\DisplayPluginBase;
use Drupal\views\Plugin\views\HandlerBase;
use Drupal\views\ViewExecutable;
use Drupal\views\Views;

/**
 * Handler for GROUP BY on simple numeric fields.
 */
class GroupByNumeric extends SortPluginBase {
    
    /**
     * The original handler.
     */
    protected HandlerBase $handler;
    
    /**
     * {@inheritdoc}
     */
    public function init(ViewExecutable $view, DisplayPluginBase $display, ?array &$options = NULL) {
        parent::init($view, $display, $options);
        // Initialize the original handler.
        $this->handler = Views::handlerManager('sort')->getHandler($options);
        $this->handler
            ->init($view, $display, $options);
    }
    
    /**
     * Called to add the field to a query.
     */
    public function query() {
        $this->ensureMyTable();
        $params = [
            'function' => $this->options['group_type'],
        ];
        $this->query
            ->addOrderBy($this->tableAlias, $this->realField, $this->options['order'], NULL, $params);
    }
    public function adminLabel($short = FALSE) {
        return $this->getField(parent::adminLabel($short));
    }

}

Classes

Title Deprecated Summary
GroupByNumeric Handler for GROUP BY on simple numeric fields.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.