我有一个网站,其中有不同类型的产品,每种产品都有不同的规格。
我希望能够只使用一个带有一组列的产品表,但由于列因类型而异,我必须为每种类型创建多个产品表。我认为这是一种耗时且不是真正有效的方式来管理作为一个持续的解决方案。
有没有一种用数据库管理这种类型场景的好方法?
我使用 Cakephp 作为框架。
规范您的数据结构:例如,有一个包含列的product_info
表(将 FK 放入表中)并表达有关每个产品的附加信息。products
key
value
不久前我写过关于使用 EAV 模型和蛋糕的文章,我认为这篇文章可能会有所帮助,但有点过时了。 http://nuts-and-bolts-of-cakephp.com/2010/07/27/keyvalue-tables-and-how-to-use-them-in-cakephp-1-3/
此外,这可能对您的特定问题非常有帮助......请查看并研究Magento(一个非常流行的基于 PHP 的电子商务框架)中的一些概念,它大量使用 EAV 模式,并且在索引和扁平化方面做得很好数据。
您当然可以获得很多关于 EAV 实施的有趣观点。不管你喜不喜欢是另一回事:)