【问题标题】:Best way to create a product table with the attributes, color, sizes and photos (like ecommerce)创建包含属性、颜色、尺寸和照片的产品表的最佳方式(如电子商务)
【发布时间】:2017-09-26 17:31:31
【问题描述】:

我有一个问题,它与良好的建模实践更相关。 我正在制作一个系统,该系统将具有 HABTM 产品(鞋子)类别,这些产品将具有它们的属性(颜色、尺寸、产品照片),但是产品的尺寸和照片将与颜色相关。例如: 我有一个黑色靴子,该颜色有尺码:24、25 和 28 以及黑色靴子的照片。 我有一只棕色靴子,该颜色的尺码有:21、23 和 24 以及棕色靴子的照片。

我认为尺寸和照片是 HABTM 的颜色,但这会给我带来一个问题,当我在选择产品时它不会带来第三级。

我用的是 cakephp 2.x

【问题讨论】:

  • 请更清楚您的要求。
  • 你好,你好吗?我想知道创建产品表的最佳方法,其中存在依赖项(鞋色表、尺码表和照片库),但是根据颜色会有不同的数字和不同的照片。我不知道我是否创建了一个产品表和另一个具有一般属性的表,或者我是否创建了一个带有 habtm 颜色的表产品,这是照片表和编号的父表。

标签: php mysql database cakephp relationship


【解决方案1】:

我认为您可以在颜色和尺寸之间建立 HABTM 关系。您可以创建一个如下所示的连接表:

id | color_id | size_id

然后您将拥有一个colors 表和一个sizes 表。

我认为您不需要 colorsphotos 之间的 HABTM 关系。我认为您可以只使用hasMany 关系,因为每张照片都是唯一的颜色。您的photos 表将只有一个指向colors 表的外键列。

id | color_id

【讨论】:

  • 谢谢你的账单!你打开了我的脑袋。我会尝试这样做。我只是怀疑在搜索产品时是否在数据库中找到这些数据,因为尺寸与颜色有关,而不是与产品直接相关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-16
  • 2020-11-18
  • 1970-01-01
  • 1970-01-01
  • 2015-12-30
  • 2023-03-12
  • 1970-01-01
相关资源
最近更新 更多