resource = $resource; $this->productTableName = $productTableName; } /** * Get product ids related to specified source items. * * @param array $sourceItemIds * @return array */ public function execute(array $sourceItemIds): array { $connection = $this->resource->getConnection(); $select = $connection->select() ->from( ['source_item' => $this->resource->getTableName(SourceItem::TABLE_NAME_SOURCE_ITEM)], [] )->where( 'source_item.' . SourceItem::ID_FIELD_NAME . ' IN (?)', $sourceItemIds )->join( ['product' => $this->resource->getTableName($this->productTableName)], 'source_item.' . SourceItemInterface::SKU . ' = product.sku', ['product.entity_id'] )->distinct(); return $connection->fetchCol($select); } }