我有以下表结构:
分类:
1. id
2. parent_id
3. category
属性:
1. id
2. attribute
类别_属性
1. category_id
2. attribute_id
属性值
1. id
2. attribute_id
3. value
产品
1. id
2. category_id
3. product
4. price
产品_属性_值
1. product_id
2. attribute_id
3. value_id
现在,当我打开类别时,让我们说“珠子”(id = 1)。我选择此类别的所有属性及其属性的所有值。
问题是我有 10 个“直径”属性值(id = 1):4mm、6mm、8mm、12mm、14mm、16mm、18mm、20mm、24mm、30mm(ids 1-10)它们都显示在过滤器中即使我没有直径为 20 毫米的产品。
如何根据类别产品及其属性和值选择属性和值?例如,如果 Beads 类别的产品仅具有 12mm 和 14mm 直径的产品,则应在过滤器中省略其他值。
我知道这可能很愚蠢,但这是我第一个使用这种数据库模式的项目,除了这个问题我已经解决了所有问题。
抱歉格式化,用我的手机写。提前致谢。