/**
  * Compare against lookup table
  *
  * @param QueryBuilder $QB
  * @param string $tablealias
  * @param string $colname
  * @param string $comp
  * @param string|\string[] $value
  * @param string $op
  */
 public function filter(QueryBuilder $QB, $tablealias, $colname, $comp, $value, $op)
 {
     if (!$this->usesLookup()) {
         parent::filter($QB, $tablealias, $colname, $comp, $value, $op);
         return;
     }
     $schema = 'data_' . $this->schema->getTable();
     $field = $this->column->getColName();
     // compare against lookup field
     $rightalias = $QB->generateTableAlias();
     $QB->addLeftJoin($tablealias, $schema, $rightalias, "{$tablealias}.{$colname} = {$rightalias}.pid");
     $this->column->getType()->filter($QB, $rightalias, $field, $comp, $value, $op);
 }