code: public function encodeValue(EncodePropertyValueFromWidgetEvent $event)
      {
          if (('tl_metamodel_filtersetting' !== $event->getEnvironment()->getDataDefinition()->getName())
              || ('attr_id' !== $event->getProperty())) {
              return;
          }
  
          $model     = $event->getModel();
          $metaModel = $this->filterFactory->createCollection($model->getProperty('fid'))->getMetaModel();
          $value     = $event->getValue();
  
          if (!($metaModel && $value)) {
              return;
          }
  
          $value = substr($value, strlen($metaModel->getTableName() . '_'));
  
          $attribute = $metaModel->getAttribute($value);
  
          if ($attribute) {
              $event->setValue($attribute->get('id'));
          }
      }
docs: Translates an generated alias {@see getAttributeNames()} to the corresponding attribute id.
  
  @param EncodePropertyValueFromWidgetEvent $event The event.
  
  @return void