code: private function getFilterForLike($attribute, IFilter $filter, $operation)
      {
          if ($attribute) {
              $filter->addFilterRule(new SearchAttribute(
                  $attribute,
                  $operation['value'],
                  $this->getMetaModel()->getAvailableLanguages() ?: array()
              ));
  
              return;
          }
  
          $columns = $this->connection->getSchemaManager()->listTableColumns($this->getMetaModel()->getTableName());
          if ($columns[$operation['property']]) {
              // System column?
              $filter->addFilterRule(new SimpleQuery(
                  sprintf(
                      'SELECT id FROM %s WHERE %s LIKE ?',
                      $this->getMetaModel()->getTableName(),
                      $operation['property']
                  ),
                  array($operation['value']),
                  'id',
                  $this->connection
              ));
  
              return;
          }
  
          throw new \RuntimeException(
              'Error processing filter array - unknown property ' . var_export($operation['property'], true),
              1
          );
      }
docs: Return the filter query for a "foo LIKE '%ba_r%'" filter.
  
  The searched value may contain the wildcards '*' and '?' which will get converted to proper SQL.
  
  @param IAttribute $attribute The attribute.
  
  @param IFilter    $filter    The filter to add the operations to.
  
  @param array      $operation The operation to convert.
  
  @return void
  
  @throws \RuntimeException When the operation can not be parsed.