diff --git a/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable.php b/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable.php index 6eb76c83d0a1b104c70acf47b9d6121941ad7609..8dda060c4f75ff4428bb4ebede6985265c61def2 100644 --- a/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable.php +++ b/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable.php @@ -62,10 +62,7 @@ class Configurable extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb { $isProductInstance = false; if ($mainProduct instanceof \Magento\Catalog\Model\Product) { - $mainProductId = $mainProduct->getData( - $this->metadataPool->getMetadata(ProductInterface::class)->getLinkField() - ); - + $mainProductId = $mainProduct->getId(); $isProductInstance = true; } $old = []; @@ -91,9 +88,9 @@ class Configurable extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb } $this->getConnection()->insertMultiple($this->getMainTable(), $data); } - + $linkField = $this->metadataPool->getMetadata(ProductInterface::class)->getLinkField(); // configurable product relations should be added to relation table - $this->_catalogProductRelation->processRelations($mainProductId, $productIds); + $this->_catalogProductRelation->processRelations($mainProduct->getData($linkField), $productIds); return $this; }