首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Virtuemart如何在不使用EAV的情况下实现EAV?

Virtuemart如何在不使用EAV的情况下实现EAV?
EN

Stack Overflow用户
提问于 2010-01-05 04:18:27
回答 1查看 1.3K关注 0票数 4

我理解EAV中的三个基本故障,即重新组装数据需要大量的工作。但是,我想要一个数据库,我可以添加自定义字段。很多人说Virtuemart允许自定义字段,但不使用EAV数据库结构。有人能解释一下如何做到这一点或提供链接吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-05 05:16:44

我相信他们以XML或YAML或其他特定于领域的语言来存储自定义字段。

基本上,他们使用Martin Fowler的Serialized LOB模式。

这使得使用SQL表达式查询自定义属性变得困难。您必须将整个行取回到您的应用程序中并解析出自定义属性。但这并不比EAV造成的痛苦更糟糕。

请参阅http://web.archive.org/web/20110709125812/http://sankuru.biz/en/blog/8-joomla-configuration-issues/35-the-cck-buzz-content-creation-kit-and-the-eav-problem.html

Virtuemart和CCK

Virtuemart (VM)自定义用户字段是CCK样式的,但不依赖于EAV。因此,它们非常有用,而且非常有用。我确实推荐使用它们。

VM产品类型也是CCK风格的,但不幸的是依赖于EAV。因此,我避免使用像瘟疫一样的VM产品类型。相反,我只是在产品记录中手动创建额外的字段。

VM属性系统(简单的、自定义的、高级的)实际上太弱了,无法被认为是CCK级的。

对VM的一个很好的改进在于将VM产品类型和属性重新表述为非EAV CCK样式的自定义字段(从而使它们的工作方式更像VM自定义用户字段)。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2001939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档