/** * Remove grouped products from product relation table * * @param Link $subject * @param \Closure $proceed * @param int $linkId * @return Link */ public function aroundDeleteProductLink(Link $subject, \Closure $proceed, $linkId) { /** @var \Magento\Catalog\Model\ProductLink\Link $link */ $link = $this->linkFactory->create(); $subject->load($link, $linkId, $subject->getIdFieldName()); $result = $proceed($linkId); if ($link->getLinkTypeId() == \Magento\GroupedProduct\Model\ResourceModel\Product\Link::LINK_TYPE_GROUPED) { $this->relationProcessor->removeRelations($link->getProductId(), $link->getLinkedProductId()); } return $result; }
/** * Remove product relations * * @param int $parentId * @param array $childIds * @return $this */ public function removeProductRelations($parentId, $childIds) { $this->_productRelation->removeRelations($parentId, $childIds); return $this; }