Configurable, bundle and grouped are all different and require different means to get their parents. The methods are listed within the relevant files.
Magento\ConfigurableProduct\Model\Product\Type\Configurable.php
/**
* Retrieve configurable parent ids array by required child
*
* @param int|array $childId
* @return array
*/
public function getParentIdsByChild($childId)
{
return $this->_catalogProductTypeConfigurable->getParentIdsByChild($childId);
}
Magento\Bundle\Model\Product\Type.php
/**
* Retrieve bundle parent ids array by required child
*
* @param int|array $childId
* @return array
*/
public function getParentIdsByChild($childId)
{
return $this->_bundleSelection->getParentIdsByChild($childId);
}
Magento\GroupedProduct\Model\Product\Type\Grouped.php
/**
* Retrieve grouped parent ids array by requested child
*
* @param int|array $childId
* @return array
*/
public function getParentIdsByChild($childId)
{
return $this->productLinks->getParentIdsByChild(
$childId,
\Magento\GroupedProduct\Model\ResourceModel\Product\Link::LINK_TYPE_GROUPED
);
}
Lastly, in case you need to quickly get the sku from mysql .
#Select parent of a sku
SELECT
parent.sku
FROM
catalog_product_entity parent
WHERE parent.row_id =
(SELECT
relationship.parent_id
FROM
catalog_product_super_link relationship
WHERE relationship.product_id =
(SELECT
child.entity_id
FROM
catalog_product_entity child
WHERE child.sku = "SKU")
);