1

より正確で専門的な方法で表を作成しようとしています。

2 つのフィールドTITLEDESCRIPTION2 つの言語が必要ですが、しばらくして 3 番目の言語を追加しないかどうかはわかりません。

どちらがいいですか?

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

また

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

シリアライズされた場所はこのようなものです

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

または他の提案はありますか?今後ともよろしくお願いいたします。

4

2 に答える 2

2

私は2つのテーブルの組み合わせでそれを行います。

最初の表には、タイトルと説明を英語で含める必要があります。あなたが今持っているものに似ています。

セカンダリテーブルには翻訳が含まれます。次のような構造で:

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

タイトルと説明に、doc_idとlangの両方を含む主キーとフルテキストインデックスを配置します。

このようにして、探している言語の翻訳が存在しない場合に元の英語のテキストにフォールバックするクエリを作成し、検索を特定の言語に制限することができます。

于 2013-01-04T20:47:19.700 に答える
1

4 つのフィールド (id、タイトル、説明、言語) を持つテーブルを作成します。

--------------------------------------
id | titles   | descriptions | language
---------------------------------------
 1  |title in en| desc in en | en
----------------------------------------
 2   |title in ge| desc in ge | ge
于 2013-01-04T20:50:05.713 に答える