From 45d2a21a75dcbe7fff7ffb821acf2d0484bd3a24 Mon Sep 17 00:00:00 2001 From: Karnovsky A Date: Thu, 30 Jun 2016 16:22:55 +0300 Subject: [PATCH] Brands count --- common/modules/product/models/BrandSearch.php | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/common/modules/product/models/BrandSearch.php b/common/modules/product/models/BrandSearch.php index 3b8e4d2..27cbd18 100755 --- a/common/modules/product/models/BrandSearch.php +++ b/common/modules/product/models/BrandSearch.php @@ -113,23 +113,24 @@ class BrandSearch extends Brand ->innerJoin(ProductCategory::tableName(), ProductCategory::tableName() .'.product_id='. Product::tableName() .'.product_id') ->with(['brandName']); - if (!empty($params['options'])) { - $queryCount = ProductOption::find() - ->select(['COUNT(pr.product_id)']) - ->innerJoin('tax_option', 'tax_option.tax_option_id = product_option.option_id') - ->innerJoin('tax_group', 'tax_group.tax_group_id = tax_option.tax_group_id') - ->innerJoin('product AS pr', 'pr.product_id = product_option.product_id') - ->where('pr.brand_id = brand.brand_id'); + + $queryCount = ProductOption::find() + ->select(['COUNT(pr.product_id)']) + ->innerJoin('tax_option', 'tax_option.tax_option_id = product_option.option_id') + ->innerJoin('tax_group', 'tax_group.tax_group_id = tax_option.tax_group_id') + ->innerJoin('product AS pr', 'pr.product_id = product_option.product_id') + ->where('pr.brand_id = brand.brand_id'); // ->groupBy(['product.product_id']); + if (!empty($params['options'])) { foreach ($params['options'] as $group => $options) { $queryCount->andWhere([ 'tax_group.alias' => $group, 'tax_option.alias' => $options ]); } - $query->addSelect(['_items_count' => $queryCount]); // $query->addSelect("(SELECT COUNT(product_option.product_id) AS products FROM product_option INNER JOIN tax_option ON tax_option.tax_option_id = product_option.option_id INNER JOIN tax_group ON tax_group.tax_group_id = tax_option.tax_group_id WHERE tax_group.alias LIKE '$group' AND tax_option.alias IN (" . implode(',', $options) . ")) AS _items_count"); } + $query->addSelect(['_items_count' => $queryCount]); $query->innerJoin('product_variant', 'product_variant.product_id = '. Product::tableName() .'.product_id'); -- libgit2 0.21.4