gpt4 book ai didi

php - 产品具有属性(变体)数据库设计?

转载 作者:行者123 更新时间:2023-11-29 19:58:40 33 4
gpt4 key购买 nike

您好,我有两个具有多对多关系的表和一个联结表。简而言之,具有不同属性的产品也随之增加了价格。为了更清楚地说明我是产品和属性表。

+-------------+------------+----------------- --+
|产品 |属性|属性产品 |
+------------------------+------------+--------------------+
|编号 |编号 |产品 ID |
|名称 |名称 |属性 ID |
|描述 | |属性值 |
|价格| |已添加价格 |
+------------+------------+--------------------+

由于 Laravel 不支持多列主键,我希望 attribute_product 表有一个主键,当我调用 $product->attribute->attach() 它会自动增加它,所以我可以执行以下操作:

+---------+----------------------+
|购物车 |购物车产品 |
+---------+--------------------+
|编号 |购物车 ID |
|用户 ID |属性产品 ID |
+---------+----------------------+

在我的脑海中,我将为attribute_product表创建一个模型,并将其命名为Item,因此购物车可以有多个项目,我可以将其显示为$cart->items->groupBy('product_id') 这样我就可以将所有内容放入用户的购物车中。

非常感谢任何解决方案或更好的建议。

最佳答案

嗯,我认为也许你没有以正确的方式关注它。如果您有belongsToMany 产品属性之间的关系,是因为一个产品可能具有多个属性,而不是不同的产品

在您的购物车中,您应该添加产品,而不是产品的特定属性。例如:

I want a water bottle, but only the water, without the bottle.

这没有道理,没有瓶子就买不到水瓶。在这种情况下,您将购买水,而不是水瓶,这应该是不同的产品,而不是同一个产品。

cart_product表格应该看起来像这样,只要没有令人信服的理由不能如此。

 +---------+----------------------+
| cart | cart_product |
+---------+----------------------+
| id | cart_id |
| user_id | product_id |
+---------+----------------------+

关于php - 产品具有属性(变体)数据库设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40605728/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com