Dear Team,
Kiểm tra giúp mình khi chọn attribute hiển thị và lưu trong options của ec_order_product thì lại sắp xếp theo cột order của bảng ec_product_attributes , lẽ ra phải dùng cột order trong bảng ec_product_attribute_sets vì khi khác option sẽ tạo ra 1 sản phẩm khác, làm sai dữ liệu về sản phẩm trong đơn hàng, có thể gây ra trùng sản phẩm (vì khác option)
public function variationProductAttributes(): HasMany { return $this ->hasMany(ProductVariation::class, ‘product_id’) ->join( ‘ec_product_variation_items’, ‘ec_product_variation_items.variation_id’, ‘=’, ‘ec_product_variations.id’ ) ->join(‘ec_product_attributes’, ‘ec_product_attributes.id’, ‘=’, ‘ec_product_variation_items.attribute_id’) ->join( ‘ec_product_attribute_sets’, ‘ec_product_attribute_sets.id’, ‘=’, ‘ec_product_attributes.attribute_set_id’ ) ->distinct() ->select([ ‘ec_product_variations.product_id’, ‘ec_product_variations.configurable_product_id’, ‘ec_product_attributes.*’, ‘ec_product_attribute_sets.title as attribute_set_title’, ‘ec_product_attribute_sets.slug as attribute_set_slug’, ‘ec_product_attribute_sets.order as attribute_set_order’, // cột cần thêm để sort đúng ]) ->orderBy(‘order’); // phải dùng cột order trong bảng ec_product_attribute_sets }
![](https://)