![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/amasty/shopby/Model/ResourceModel/Search/Aggregation/ |
<?php declare(strict_types=1); /** * @author Amasty Team * @copyright Copyright (c) Amasty (https://www.amasty.com) * @package Improved Layered Navigation Base for Magento 2 */ namespace Amasty\Shopby\Model\ResourceModel\Search\Aggregation; use Magento\Framework\App\ResourceConnection; use Magento\Framework\DB\Select; class DataProvider { public const INDEX_TABLE_NAME = 'catalog_product_index_eav_decimal'; /** * @var ResourceConnection */ private $resourceConnection; public function __construct(ResourceConnection $resourceConnection) { $this->resourceConnection = $resourceConnection; } public function getMinMaxSelect(int $attributeId, string $tableName, int $storeId): Select { $select = $this->resourceConnection->getConnection()->select(); $table = $this->resourceConnection->getTableName( self::INDEX_TABLE_NAME ); $select->from( ['main_table' => $table], [ 'value' => new \Zend_Db_Expr("'data'"), 'min' => 'min(main_table.value)', 'max' => 'max(main_table.value)', 'count' => 'count(*)' ] ) ->where('main_table.attribute_id = ?', $attributeId) ->where('main_table.store_id = ? ', $storeId); $select->joinInner( ['entities' => $tableName], 'main_table.entity_id = entities.entity_id', [] ); return $select; } }