我是 Yii 的新手。官方文档没有给出 CDbMessageSource 的任何示例。问题:1)如何/在哪里将 CDbMessageSource 设置为我的 MessageSource ?
2)在我当前的应用程序中,我将类别存储在一个表中,并将类别的翻译存储在另一个表中。表结构:
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 合并到一个表中,然后将 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
);
谢谢 !