<?php
/**
* Database Service Object.
*
* @var \Drupal\Core\Database\Connection
*/
protected $connection;
public function __construct(Connection $connection) {
$this->connection = $connection;
}
/**
* {@inheritdoc}
*/
public static function create() {
return new static($container->get('database'), $container->get('entity.manager')->getStorage('taxonomy_vocabulary')
);
public function validatefunction($arg) {
$select = $this->connection->select('taxonomy_index', 'ti')->fields('ti', array('tid'));
$result = $select->execute();
}
}
So intead of calling $connection = \Drupal::database(); , you should inject core services into your class visa container service.
Details code you can found :- http://cgit.drupalcode.org/similarterms/tree/views/similarterms_handler_argument_node_nid.inc
Helpful information to read :- https://www.drupal.org/node/2133171