首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与理论2的映射

与理论2的映射
EN

Stack Overflow用户
提问于 2011-05-02 14:11:32
回答 1查看 462关注 0票数 1

我的SQL数据库中有这样的问题:

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS `t_question` (
  `id_question` int(10) NOT NULL AUTO_INCREMENT,
  `heading_key` varchar(255) NOT NULL,
  PRIMARY KEY (`id_question`)
) ENGINE=InnoDB;

因为我希望我的问题是多语言的,所以我将它们的键链接到另一个表(t_lang_data),该表存储字符串以供多种用途(问题、文章等)。

我的t_lang_data具有折叠结构:

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS `t_lang_data` (
  `id_lang_data` int(10) NOT NULL AUTO_INCREMENT,
  `key` varchar(255) NOT NULL,
  `lang_iso` int(10) NOT NULL,
  `text` varchar(255) NOT NULL,
  PRIMARY KEY (`id_lang_data`)
) ENGINE=InnoDB;

例如,我可以问这个问题:

id_question =1;heading_key = heading_quest_1

这些lang_data条目:

id_lang_data =1;key = heading_quest_1;lang_iso = en_UK;text =“标题1”id_lang_data =2;key = heading_quest_1;lang_iso = fr;text = "Titre de la问询1“

我需要为原则2绘制这些关系图,但我不知道该怎么做。我尝试过一个多对一和一个一对多方法,但是它不起作用。

有人想办法吗?谢谢

编辑:我意识到这比我想象的还要困难。实际上,我的t_lang_data表可以存储许多表的字符串,如t_questions、t_articles等。但在映射中,我们似乎只能将两个表映射到一起。

那我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-02 14:31:34

数据库确实是最常见的翻译问题之一。

如果您想要有一个高效的翻译行为而不需要重新发明轮子,那么您应该使用这个库:https://github.com/l3pp4rd/DoctrineExtensions

这是doctrine2团队推荐的,对我来说非常好。专门用于翻译行为的文档如下:https://github.com/l3pp4rd/DoctrineExtensions

另外,如果您使用的是symfony2,专用包在这里: http:// github.com/stof/DoctrineExtensionsBundle

此外,通过使用一个表来翻译引用原始类型和id的字符串存储,翻译行为就像您的工作方式一样。

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

https://stackoverflow.com/questions/5858206

复制
相关文章

相似问题

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