33 $this->metadataPool = $metadataPool;
45 $metadata = $this->metadataPool->getMetadata(ProductInterface::class);
46 $linkField = $metadata->getLinkField();
51 [
'e.entity_id',
'cis.website_id',
'cis.stock_id']
53 [
'o' => $this->resourceConnection->getTableName(
'catalog_product_bundle_stock_index')],
54 'o.entity_id = e.entity_id AND o.website_id = cis.website_id AND o.stock_id = cis.stock_id',
57 [
'cpr' => $this->resourceConnection->getTableName(
'catalog_product_relation')],
58 'e.' . $linkField .
' = cpr.parent_id',
64 if ($metadata->getIdentifierField() === $metadata->getLinkField()) {
66 [
'cpei' => $this->resourceConnection->getTableName(
'catalog_product_entity_int')],
67 'cpr.child_id = cpei.' . $linkField
68 .
' AND cpei.attribute_id = ' . $this->getAttribute(
'status')->getId()
69 .
' AND cpei.value = ' . ProductStatus::STATUS_ENABLED,
74 [
'cpel' => $this->resourceConnection->getTableName(
'catalog_product_entity')],
75 'cpel.entity_id = cpr.child_id',
78 [
'cpei' => $this->resourceConnection->getTableName(
'catalog_product_entity_int')],
79 'cpel.'. $linkField .
' = cpei.' . $linkField
80 .
' AND cpei.attribute_id = ' . $this->getAttribute(
'status')->getId()
81 .
' AND cpei.value = ' . ProductStatus::STATUS_ENABLED,
__construct(\Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Eav\Model\Config $eavConfig)
buildSelect(Select $select)