![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/DB/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ 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]; } }