【问题标题】:Best way to organize sizes/colors with products in database用数据库中的产品组织尺寸/颜色的最佳方法
【发布时间】:2020-11-18 11:07:10
【问题描述】:

我正在为服装创建一个在线商店,并坚持寻找一种为我的产品创建各种尺寸和颜色的好方法,目前我使用以下信息创建一个产品:

app.post("/products", async (req, res) => {
  try {
    const { name } = req.body;
    const { category } = req.body;
    const { price } = req.body;
    const { description } = req.body;
    const { image } = req.body;
    const newProduct = await pool.query(
      "INSERT INTO products(name, category, price, description, image) VALUES($1, $2, $3, $4, $5) RETURNING *",
      [name, category, price, description, image]
    );
    res.json(newProduct.rows[0]);
  } catch (err) {
    console.error(err);
  }
});

但还需要一种方法来判断用户是否选择了不同的尺寸和不同的颜色,所以我在数据库中的当前设置是三个表,它们是: 1.) 产品(如上) 2.) 颜色 3.) 尺寸 这就是它们在 pgAdmin4 中的样子

当我使用该帖子请求创建一件新衬衫时,我如何做到这一点,其中 4 种其他尺寸与它相关联以及几种颜色?我应该在上面的代码中实现它还是有更好的方法来实现它。

【问题讨论】:

    标签: node.js postgresql express


    【解决方案1】:

    想想“宜家”家具,你有

    • 家具类型(“斯德哥尔摩沙发 3 人”)
    • 一些颜色变化(“红、绿”)
    • 一些面料变化(“皮革、棉”)

    每个唯一的组合都有一个 UID,即 8 位零件号。

    所以我的示例数据库可能是这样的

    123-000-01 | STOCKHOLM  | RD | LE
    123-000-02 | STOCKHOLM  | GN | LE
    123-000-03 | STOCKHOLM  | RD | CT
    123-000-04 | STOCKHOLM  | GN | CT
    

    现在,当人们选择该类型时,我可以呈现各种颜色和类型。

    我看不到通过 product_id 将表格链接到不同颜色会起作用,因为相同的 product_id 不能同时是不同的颜色?也许通过产品类型 ID 来代替?或者只使用一张桌子。

    这就是我的做法。

    【讨论】:

    • 我不知道这是否真的有效,因为当我绘制数据库时我不想在主页上显示所有不同尺寸和衬衫,但只想显示一件衬衫然后从那里他们可以选择不同的尺寸或颜色,你会推荐什么来解决这个问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多