$productCollection = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product\Collection'); $productLink = $objectManager->create('Magento\Catalog\Api\Data\ProductLinkInterface'); $collection = $productCollection ->addAttributeToSelect('*') ->addFieldToFilter('visibility', 4) ->addFieldToFilter('status',1) ->addAttributeToFilter('kolekcja', ['notnull' => true], 'left')->load(); $array = array(); $i = 0; $linkData = array(); foreach ($collection as $product){ if(!count($product->getUpSellProductIds()) > 0): $productCollection2 = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product\Collection'); $collection2 = $productCollection2 ->addAttributeToSelect('*') ->addFieldToFilter('visibility', 4) ->addFieldToFilter('status',1) ->addAttributeToFilter('kolekcja', $product->getKolekcja()) ->addAttributeToFilter('producent',$product->getProducent())->load(); if($collection2): $r = 1; unset( $linkData ); foreach($collection2 as $product2): echo $product2->getId().'
'; $productLink = $objectManager->create('Magento\Catalog\Api\Data\ProductLinkInterface') ->setSku($product->getSku()) ->setLinkedProductSku($product2->getSku()) ->setPosition($r) ->setLinkType('upsell'); $r++; $linkData = $product->getProductLinks(); $linkData[] = $productLink; $product->setProductLinks($linkData)->save(); endforeach; endif; echo $product->getName(); endif;