【发布时间】:2011-04-26 10:51:21
【问题描述】:
我正在开发一个由产品和类别组成的电子商务商店。我有 3 种主要的产品过滤方式:按类别、按制造商和按性别。
我有以下表格
products
- id
- name
- manufacturer_id
- gender_id
categories
- id
- name
- parent_id
products2categories
- id
- product_id
- category_id
manufacturers
- id
- name
gender
- id
- name
使用这些表格,我可以列出产品,例如查找manufacturer_id = 1, gender = 1, category= 453 所在的所有产品。
但是,我想控制为每个过滤器组合设置图像、页面标题、元标记、显示顺序等。所以我添加了另一个表:
pages
- id
- category_id
- manufacturer_id
- gender_id
- image
- page_title
- meta_description
- display_order
这可行,但我现在的任务是确保每个可能的组合都在此表中。例如,添加新产品时,我需要创建所有组合。另外,如果我以后想添加更多过滤器,表格会越来越大。我可以使用其他方法吗,或者这是唯一的方法?
【问题讨论】:
-
为什么要创建 products2categories 表,而不是在 products 中使用类别的外键?
-
gender的单独表格? -
@Quassnoi:我听说性别类别会爆炸!
-
@elvenbyte:不确定@op的型号,但产品可能通常属于几个类别。
-
products2categories 这样产品可以属于多个类别,而不仅仅是一个。另外我想我会失去性别类别,只将gender_id存储在产品表中。