diff --git a/common/modules/product/models/Category.php b/common/modules/product/models/Category.php index 2f2866a..195d093 100755 --- a/common/modules/product/models/Category.php +++ b/common/modules/product/models/Category.php @@ -231,14 +231,7 @@ class Category extends \yii\db\ActiveRecord $query1 = (new Query()) ->distinct() ->select([ - 'option_id', - 'tax_option.*', - 'tax_group.*', - 'tax_option.alias as option_alias', - 'tax_group.alias as group_alias', - 'tax_value_string.value as value', - 'tax_option.sort AS tax_option_sort', - 'tax_group.sort AS tax_group_sort', + 'option_id' ]) ->from('tax_option') ->innerJoin('product_variant_option', 'tax_option.tax_option_id = product_variant_option.option_id') @@ -253,14 +246,7 @@ class Category extends \yii\db\ActiveRecord $query2 = (new Query()) ->distinct() ->select([ - 'option_id', - 'tax_option.*', - 'tax_group.*', - 'tax_option.alias as option_alias', - 'tax_group.alias as group_alias', - 'tax_value_string.value as value', - 'tax_option.sort AS tax_option_sort', - 'tax_group.sort AS tax_group_sort', + 'option_id' ]) ->from('tax_option') ->innerJoin('product_option', 'tax_option.tax_option_id = product_option.option_id') @@ -272,9 +258,20 @@ class Category extends \yii\db\ActiveRecord ->where(['product_category.category_id' => $this->category_id, 'tax_group.is_filter' => TRUE]) ->andWhere(['!=', 'product_variant.stock', 0]); $query3 = (new Query()) - ->select('*') - ->from(['subquery' => $query1->union($query2)]) - ->orderBy('tax_group_sort, tax_option_sort'); + ->select([ + 'tax_option.*', + 'tax_group.*', + 'tax_option.alias as option_alias', + 'tax_group.alias as group_alias', + 'tax_value_string.value as value', + 'tax_option.sort AS tax_option_sort', + 'tax_group.sort AS tax_group_sort', + ]) + ->from(['tax_option' ]) + ->where(['tax_option.tax_option_id'=>$query1->union($query2)]) + ->innerJoin('tax_group','tax_group.tax_group_id = tax_option.tax_group_id') + ->innerJoin('tax_value_string', 'tax_value_string.tax_option_id = tax_option.tax_option_id') + ->orderBy('tax_option.sort, tax_group.sort'); return $query3; } -- libgit2 0.21.4