Commit 4fd39cf0b220d4e3c6488df9fe7f5f8412b7d0f6
1 parent
53c40309
Query fix in_stock added
Showing
1 changed file
with
7 additions
and
3 deletions
Show diff stats
helpers/FilterHelper.php
... | ... | @@ -142,16 +142,17 @@ |
142 | 142 | $query->andWhere([ 'product.id' => $last_query ]); |
143 | 143 | } |
144 | 144 | } |
145 | - | |
145 | + | |
146 | 146 | /** |
147 | 147 | * Tax Option filter |
148 | 148 | * |
149 | 149 | * @param string[] $params |
150 | 150 | * @param \yii\db\Query|null $last_query |
151 | + * @param bool $in_stock | |
151 | 152 | * |
152 | - * @return Query | |
153 | + * @return \yii\db\Query | |
153 | 154 | */ |
154 | - private static function filterOptions(array $params, Query $last_query = null): Query | |
155 | + private static function filterOptions(array $params, Query $last_query = null, bool $in_stock = true): Query | |
155 | 156 | { |
156 | 157 | $variant_query = ( new Query() )->distinct() |
157 | 158 | ->select('product_variant.product_id as products') |
... | ... | @@ -169,6 +170,9 @@ |
169 | 170 | 'tax_option_lang.tax_option_id = tax_option.id' |
170 | 171 | ) |
171 | 172 | ->where([ 'tax_option_lang.alias' => $params ]); |
173 | + if($in_stock) { | |
174 | + $variant_query->andWhere(['!=', 'product_variant.stock', 0]); | |
175 | + } | |
172 | 176 | $product_query = ( new Query() )->distinct() |
173 | 177 | ->select('product_option.product_id as products') |
174 | 178 | ->from('product_option') | ... | ... |