私はYiiの初心者です。公式ドキュメントには、CDbMessageSourceの例は記載されていません。質問:1)CDbMessageSourceをMessageSourceとして設定するにはどうすればよいですか?
2)現在のアプリケーションでは、カテゴリを1つのテーブルに保存し、カテゴリの翻訳を別のテーブルに保存しています。テーブル構造:
CATEGORY
----------
cat_id (PK)
CATEGORY_TRANSLATION
--------------------
cat_id (FK)
en
ru
ここで、サブカテゴリを導入すると、次のようにDBをモデル化できます。
SUB_CATEGORY
------------
sub_cat_id (PK)
cat_id (FK)
SUB_CATEGORY_TRANSLATION
------------------------
sub_cat_id (FK)
en
ru
YiiでCDbMessageSourceを使用して翻訳を保存する場合は、CATEGORYとSUB_CATEGORYを1つのテーブルにマージしてから、CATEGORY_TRANSLATIONとSUB_CATEGORY_TRANSLATIONを別のテーブルにマージして、次の構造を取得する必要があることを正しく理解していますか?ここhttp://www.yiiframework.com/doc/api/1.1/CDbMessageSource):
CREATE TABLE SourceMessage
(
id INTEGER PRIMARY KEY,
category VARCHAR(32),
message TEXT
);
CREATE TABLE Message
(
id INTEGER,
language VARCHAR(16),
translation TEXT,
PRIMARY KEY (id, language),
CONSTRAINT FK_Message_SourceMessage FOREIGN KEY (id)
REFERENCES SourceMessage (id) ON DELETE CASCADE ON UPDATE RESTRICT
);
ありがとうございました !