src/CoreBundle/EventListener/DcGeneral/Table/DcaCombine/FixTypeSafetyListener.php
public function handle(EncodePropertyValueFromWidgetEvent $event)
    {
        if (('tl_metamodel_dca_combine' !== $event->getEnvironment()->getDataDefinition()->getName())
            || ('rows' !== $event->getProperty())) {
            return;
        }

        $environment  = $event->getEnvironment();
        $dataProvider = $environment->getDataProvider();
        $properties   = $environment->getDataDefinition()->getPropertiesDefinition();

        $values = (array) $event->getValue();
        foreach ($values as $row => $current) {
            $values[$row] = $this->updateValues($current, $properties, $dataProvider);
        }

        $event->setValue($values);
    }
public function handle(EncodePropertyValueFromWidgetEvent $event)
    {
        if (('tl_metamodel_dca_combine' !== $event->getEnvironment()->getDataDefinition()->getName())
            || ('rows' !== $event->getProperty())) {
            return;
        }

        $environment  = $event->getEnvironment();
        $dataProvider = $environment->getDataProvider();
        $properties   = $environment->getDataDefinition()->getPropertiesDefinition();

        $values = (array) $event->getValue();
        foreach ($values as $row => $current) {
            $values[$row] = $this->updateValues($current, $properties, $dataProvider);
        }

        $event->setValue($values);
    }
Handle event to update the empty type safety values for DCA combinations.

@param EncodePropertyValueFromWidgetEvent $event The event.

@return void