Commit 45d2a21a75dcbe7fff7ffb821acf2d0484bd3a24
1 parent
5d5b973b
Brands count
Showing
1 changed file
with
9 additions
and
8 deletions
Show diff stats
common/modules/product/models/BrandSearch.php
| ... | ... | @@ -113,23 +113,24 @@ class BrandSearch extends Brand |
| 113 | 113 | ->innerJoin(ProductCategory::tableName(), ProductCategory::tableName() .'.product_id='. Product::tableName() .'.product_id') |
| 114 | 114 | ->with(['brandName']); |
| 115 | 115 | |
| 116 | - if (!empty($params['options'])) { | |
| 117 | - $queryCount = ProductOption::find() | |
| 118 | - ->select(['COUNT(pr.product_id)']) | |
| 119 | - ->innerJoin('tax_option', 'tax_option.tax_option_id = product_option.option_id') | |
| 120 | - ->innerJoin('tax_group', 'tax_group.tax_group_id = tax_option.tax_group_id') | |
| 121 | - ->innerJoin('product AS pr', 'pr.product_id = product_option.product_id') | |
| 122 | - ->where('pr.brand_id = brand.brand_id'); | |
| 116 | + | |
| 117 | + $queryCount = ProductOption::find() | |
| 118 | + ->select(['COUNT(pr.product_id)']) | |
| 119 | + ->innerJoin('tax_option', 'tax_option.tax_option_id = product_option.option_id') | |
| 120 | + ->innerJoin('tax_group', 'tax_group.tax_group_id = tax_option.tax_group_id') | |
| 121 | + ->innerJoin('product AS pr', 'pr.product_id = product_option.product_id') | |
| 122 | + ->where('pr.brand_id = brand.brand_id'); | |
| 123 | 123 | // ->groupBy(['product.product_id']); |
| 124 | + if (!empty($params['options'])) { | |
| 124 | 125 | foreach ($params['options'] as $group => $options) { |
| 125 | 126 | $queryCount->andWhere([ |
| 126 | 127 | 'tax_group.alias' => $group, |
| 127 | 128 | 'tax_option.alias' => $options |
| 128 | 129 | ]); |
| 129 | 130 | } |
| 130 | - $query->addSelect(['_items_count' => $queryCount]); | |
| 131 | 131 | // $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"); |
| 132 | 132 | } |
| 133 | + $query->addSelect(['_items_count' => $queryCount]); | |
| 133 | 134 | |
| 134 | 135 | |
| 135 | 136 | $query->innerJoin('product_variant', 'product_variant.product_id = '. Product::tableName() .'.product_id'); | ... | ... |