次のテーブル構造があります。
カテゴリー:
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) としましょう。このカテゴリのすべての属性とその属性のすべての値を選択します。
問題は、「直径」属性 (id = 1) に 10 個の値があることです: 4mm、6mm、8mm、12mm、14mm、16mm、18mm、20mm、24mm、30mm (id 1-10) で、それらはすべてフィルターに表示されます。私も20mm径の商品はありません。
カテゴリ製品とその属性と値に基づいて属性と値を選択するにはどうすればよいですか? たとえば、カテゴリ ビーズに直径 12mm と 14mm の製品しかない場合、他の値はフィルターで省略されます。
ばかげているかもしれませんが、そのようなデータベーススキーマを使用した最初のプロジェクトであり、この問題を除いてすべて管理しました。
フォーマットして申し訳ありませんが、私の電話から書いています。前もって感謝します。