Commit 4fd39cf0b220d4e3c6488df9fe7f5f8412b7d0f6

Authored by Yarik
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,16 +142,17 @@
142 $query->andWhere([ 'product.id' => $last_query ]); 142 $query->andWhere([ 'product.id' => $last_query ]);
143 } 143 }
144 } 144 }
145 - 145 +
146 /** 146 /**
147 * Tax Option filter 147 * Tax Option filter
148 * 148 *
149 * @param string[] $params 149 * @param string[] $params
150 * @param \yii\db\Query|null $last_query 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 $variant_query = ( new Query() )->distinct() 157 $variant_query = ( new Query() )->distinct()
157 ->select('product_variant.product_id as products') 158 ->select('product_variant.product_id as products')
@@ -169,6 +170,9 @@ @@ -169,6 +170,9 @@
169 'tax_option_lang.tax_option_id = tax_option.id' 170 'tax_option_lang.tax_option_id = tax_option.id'
170 ) 171 )
171 ->where([ 'tax_option_lang.alias' => $params ]); 172 ->where([ 'tax_option_lang.alias' => $params ]);
  173 + if($in_stock) {
  174 + $variant_query->andWhere(['!=', 'product_variant.stock', 0]);
  175 + }
172 $product_query = ( new Query() )->distinct() 176 $product_query = ( new Query() )->distinct()
173 ->select('product_option.product_id as products') 177 ->select('product_option.product_id as products')
174 ->from('product_option') 178 ->from('product_option')