/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/DB/AggregatedFieldDataConverter.php
74 строки
2 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 17:47
22 окт 2025, 17:47
1b769b7
Код
Авторство
О чём код?
<?php /** * Copyright 2017 Adobe * All Rights Reserved. */ namespace Magento\Framework\DB; use Magento\Framework\DB\Adapter\AdapterInterface; /** * Date converter for multiple fields in different tables using different field converters */ class AggregatedFieldDataConverter { /** * @var FieldDataConverterFactory */ private $fieldDataConverterFactory; /** * @var FieldDataConverter[] */ private $fieldDataConverters = []; /** * Constructor * * @param FieldDataConverterFactory $fieldDataConverterFactory */ public function __construct( FieldDataConverterFactory $fieldDataConverterFactory ) { $this->fieldDataConverterFactory = $fieldDataConverterFactory; } /** * Convert data for the specified fields using specified field converters * * @param FieldToConvert[] $fieldsToUpdate * @param AdapterInterface $connection * @throws FieldDataConversionException * @return void */ public function convert(array $fieldsToUpdate, AdapterInterface $connection) { foreach ($fieldsToUpdate as $field) { $fieldDataConverter = $this->getFieldDataConverter($field->getDataConverterClass()); $fieldDataConverter->convert( $connection, $field->getTableName(), $field->getIdentifierField(), $field->getFieldName(), $field->getQueryModifier() ); } } /** * Get field data converter * * @param string $dataConverterClassName * @return FieldDataConverter */ private function getFieldDataConverter($dataConverterClassName) { if (!isset($this->fieldDataConverters[$dataConverterClassName])) { $this->fieldDataConverters[$dataConverterClassName] = $this->fieldDataConverterFactory->create( $dataConverterClassName ); } return $this->fieldDataConverters[$dataConverterClassName]; } }