语言与一列中的序列化数组的多列

时间:2013-01-04 20:40:21

标签: php mysql

我正在尝试以更准确和专业的方式创建一个表格。

对于两种语言,我需要两个字段TITLEDESCRIPTION,但我不确定一段时间后是否不会添加第三种语言。

您更喜欢哪一个?

-----------------------------------------------------------
id | title_en | title_ge | description_en | description_ge
-----------------------------------------------------------
...|..........|..........|................|................
-----------------------------------------------------------

---------------------------
id | titles   | descriptions
---------------------------
...|serialized| serialized
---------------------------

序列化就像这样

array(
 'en' => 'title for english',
 'ge' => 'title for georgian'
)

还是其他任何建议?感谢您未来的推荐。

2 个答案:

答案 0 :(得分:2)

我会在两个表的组合中完成它。

您的第一张桌子应该包括英文标题和说明。与你现在的相似。

您的辅助表格将包含翻译。结构类似于:

-----------------------------------
doc_id | lang | title | description
-----------------------------------

您可以在标题和说明中放置一个包含doc_id和lang以及全文索引的主键。

这样,如果您所查找的语言的翻译不存在,您可以构建一个可以回退到原始英文文本的查询,并限制您搜索某种特定语言。

答案 1 :(得分:1)

我会创建一个包含四个字段的表 (ID,标题,描述,语言)

--------------------------------------
id | titles   | descriptions | language
---------------------------------------
 1  |title in en| desc in en | en
----------------------------------------
 2   |title in ge| desc in ge | ge