Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions
QueryBuilder Class Reference

Public Member Functions

 __construct (ResourceConnection $resource, ScopeResolverInterface $scopeResolver, CatalogInventoryConfiguration $inventoryConfig, IndexScopeResolverInterface $priceTableResolver=null, DimensionFactory $dimensionFactory=null)
 
 build (AbstractAttribute $attribute, string $tableName, int $currentScope, int $customerGroupId)
 

Detailed Description

Attribute query builder

Deprecated:
See also
\Magento\ElasticSearch

@SuppressWarnings(PHPMD.CouplingBetweenObjects)

Definition at line 30 of file QueryBuilder.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( ResourceConnection  $resource,
ScopeResolverInterface  $scopeResolver,
CatalogInventoryConfiguration  $inventoryConfig,
IndexScopeResolverInterface  $priceTableResolver = null,
DimensionFactory  $dimensionFactory = null 
)
Parameters
ResourceConnection$resource
ScopeResolverInterface$scopeResolver
CatalogInventoryConfiguration$inventoryConfig
IndexScopeResolverInterface$priceTableResolver
DimensionFactory | null$dimensionFactory

Definition at line 64 of file QueryBuilder.php.

70  {
71  $this->resource = $resource;
72  $this->scopeResolver = $scopeResolver;
73  $this->inventoryConfig = $inventoryConfig;
74  $this->priceTableResolver = $priceTableResolver
75  ?: ObjectManager::getInstance()->get(IndexScopeResolverInterface::class);
76  $this->dimensionFactory = $dimensionFactory ?: ObjectManager::getInstance()->get(DimensionFactory::class);
77  }

Member Function Documentation

◆ build()

build ( AbstractAttribute  $attribute,
string  $tableName,
int  $currentScope,
int  $customerGroupId 
)

Build select.

Parameters
AbstractAttribute$attribute
string$tableName
int$currentScope
int$customerGroupId
Returns
Select

Definition at line 89 of file QueryBuilder.php.

94  : Select {
95  $select = $this->resource->getConnection()->select();
96  $select->joinInner(
97  ['entities' => $tableName],
98  'main_table.entity_id = entities.entity_id',
99  []
100  );
101 
102  if ($attribute->getAttributeCode() === 'price') {
103  return $this->buildQueryForPriceAttribute($currentScope, $customerGroupId, $select);
104  }
105 
106  return $this->buildQueryForAttribute($currentScope, $attribute, $select);
107  }
$tableName
Definition: trigger.php:13

The documentation for this class was generated from the following file: