From 17f2c61086102e58f13c2d9943334c49ff3ed211 Mon Sep 17 00:00:00 2001
From: Dmytro Voskoboinikov <dvoskoboinikov@ebay.com>
Date: Tue, 26 Jan 2016 11:51:59 +0200
Subject: [PATCH] MAGETWO-47398: Fix L2

---
 .../Model/ResourceModel/Product/Type/Configurable.php    | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

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 8dda060c4f7..6eb76c83d0a 100644
--- a/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable.php
+++ b/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable.php
@@ -62,7 +62,10 @@ class Configurable extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
     {
         $isProductInstance = false;
         if ($mainProduct instanceof \Magento\Catalog\Model\Product) {
-            $mainProductId = $mainProduct->getId();
+            $mainProductId = $mainProduct->getData(
+                $this->metadataPool->getMetadata(ProductInterface::class)->getLinkField()
+            );
+
             $isProductInstance = true;
         }
         $old = [];
@@ -88,9 +91,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($mainProduct->getData($linkField), $productIds);
+        $this->_catalogProductRelation->processRelations($mainProductId, $productIds);
 
         return $this;
     }
-- 
GitLab