php - 建模产品库存变体电子商务与图像 PHP

标签 php mysql cakephp model e-commerce

有许多不同的答案可以满足不同的在线商店需求。

我看到的很多示例都没有考虑**库存和图像**,而是将样式和尺寸视为标签等属性,并尽量保持灵 active 。这对我来说似乎是错误的。我的产品有多种款式/颜色有多种尺寸。

这是我想要的布局方式

Product
id | name  |  price
1  |  shirt  | 10.00

^ Styles                        <      Images
id product_id name                      id       styles_id    filename
1   1          red                      1             1       image.jpg
2   1          blue

^ Size
id sku styles_id name inventory
1   n1     1         m    50
2   n2     1         l    50

我没有看到很多这样的例子,但这对我来说最有意义。我这样做是完全错误和不好的吗?由于样式有自己的表格,我可以使用带有图像的 FK 来加载每种样式的不同外观

我知道一个缺陷是,如果我的产品只有一种款式和一种尺寸怎么办。就像一件冬衣。然后我使用额外的表。在视觉上,我将使用 PHP 将其全部制作成一种形式。当我开始处理购物车和订单时会遇到问题吗?

注意:我使用的是 CakePHP

响应父子方法

是的,我以前见过,你不会有重复字段或空字段吗,例如你的表看起来像这样

  id   role     color   size  inventory price  name
  1     parent   -        -        -     -     artShirt
  2     child    red      m       20    50.00     -
  3     child    red      l       20    50.00       -
  4     child    blue      s       20    50.00      -
  5     child    blue      m       20    50.00      -

如何将 img 链接到红色产品?

id    product_id   image
1        2          redImg.jpg
1        3          redImg.jpg

最佳答案

我真正喜欢的概念称为父产品 - 子产品。 父产品有一个 sku 供引用,但它不是可购买的产品。它代表产品,例如 ArtSir 衬衫。它包含 ArtSir 衬衫的产品描述、品质、关键字等。

子产品是实际可购买的产品。衬衫。每个子产品都有一条记录,其中包含 sku、颜色、尺寸、价格、重量、库存等。它们通过父产品 sku 与父产品相关联。对于大多数商家来说,库存是至关重要的,因此每个 sku 都有一个数据库记录确实是唯一可行的方法。 (更不用说您是否需要不同的 UPC 或 EAN 代码)

父产品和子产品都可以在一个简单的快乐数据库表中。就像一个家庭 :-) 你用它的 sku 调用父产品,然后用父产品 sku 获取子产品。

然后当您获得子产品时,您可以选择过滤掉没有库存的产品而不显示它们。

在特定颜色的产品页面上显示产品图片——因此这与产品是否可购买无关。这是介绍。最简单的(hack)是将该信息放入父产品记录中。颜色 1、照片链接、颜色 2、照片链接等字段

否则,您可以使用单独的数据库表来执行此操作。只需尝试将其任务限制在演示文稿中即可。

始终将产品 ID 传递给购物车 - 然后购物车在产品表中查找产品价格。如果您公开传递产品价格,则很容易被黑客入侵。当您查询价格时,您还可以确认库存。

建议在开票前有一个步骤 - 在向客户收费之前再次检查价格和库存以确认一切正确。

==============

针对问题进行编辑。你问: “你不会有重复字段或空字段吗,例如你的表看起来像这样”

是的,您将有空字段。在 1985 年或 1995 年,这很重要。它不再重要,除非你在那个时代的机器上运行你的网站。

最重要的是,您必须能够查找 sku 并获得价格和库存。您可以将数组或数据结构放入字段中。 但是每次进行数据库调用时,您都必须打包和解包它们。

您如何将 img 链接到红色产品?

您可以通过为父产品创建字段来保存图像链接、颜色引用、名称等来破解它。color01、photolink01、color02、photolink02 等。这是一个 hack,但它会起作用。

请记住,您正在从父产品中提取所有页面显示信息。所以这只是更多的显示数据。

您还可以选择在子产品记录中添加照片字段。您可能需要用于产品 Feed。这样您就可以从子产品中获取彩色照片结果,并使用它来创建显示。

否则为显示创建一个数据库表。该表还可以帮助上传产品照片并将它们分配给正确的产品。

关于php - 建模产品库存变体电子商务与图像 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32027646/

相关文章:

php - Eloquent 查询构建器 if 子句实现

php - cakePHP 和 EasyPHP 无法烘焙

php - CakePHP 查询后调试之谜

php - 如何修复 CakePHP 中的 "Error: The view for SrcController::view() was not found."?

php - 获取主题 id 的类别

php - 这是一个有效的类变量吗? $this->$变量名

javascript - 检测IP并选择状态

php - 无法打开输入文件 : yii

php - 如何在 JavaScript 函数中使用 MySQL DB 数据?

带连接的 Mysql 子查询