magento2.4 получить фильтр коллекции категорий по более чем 1 или нескольким идентификаторам продуктов

#magento2

Вопрос:

Как

 $collection = $this->_categoryCollectionFactory->create()->addAttributeToFilter('entity_id', $catIds); 
 

Это коллекция категорий, основанная на массиве $catIds.

Я хочу коллекцию категорий, основанную на массиве $productIds.

Ответ №1:

Я решил эту проблему с помощью пользовательского запроса.

   $connection = $this->_resource->getConnection(MagentoFrameworkAppResourceConnection::DEFAULT_CONNECTION);
  $catIds=$connection->fetchRow('SELECT GROUP_CONCAT(DISTINCT category_id)
  as catIds FROM catalog_category_product where product_id IN('.$productIdsString.')');
  $catIds= $catIds['catIds'];