CakePHP:保存翻译会将翻译字段保存在原始表中,为什么?

CakePHP:保存翻译会将翻译字段保存在原始表中,为什么?,cakephp,translation,multilingual,Cakephp,Translation,Multilingual,我正在使用翻译行为 下面是一个场景:我用 日语 然后我检查数据库中相应的表“contents”,我看到我的“title”和“body”字段被更改为翻译输入(日语)。我的英语(和日语)内容保存在content_i18ns表中 在我看来,一切都是用英语的,所以一切都很好。我只是 关注为什么我的“目录”表会用翻译后的输入进行更新。 很可怕的是,它可能会在将来导致错误 这样行吗?我是做错了什么,还是这是CakePHP的正常行为 提前谢谢 从“目录”表中删除字段“标题”和“正文:)这是正常的 您保存的所有

我正在使用翻译行为

下面是一个场景:我用 日语

然后我检查数据库中相应的表“contents”,我看到我的“title”和“body”字段被更改为翻译输入(日语)。我的英语(和日语)内容保存在content_i18ns表中

在我看来,一切都是用英语的,所以一切都很好。我只是 关注为什么我的“目录”表会用翻译后的输入进行更新。 很可怕的是,它可能会在将来导致错误

这样行吗?我是做错了什么,还是这是CakePHP的正常行为


提前谢谢

从“目录”表中删除字段“标题”和“正文:)

这是正常的

您保存的所有内容都将以您当前在页面上使用的语言保存在目录中。+它将保存在i18n表中


它不会引起任何问题,也不会丢失数据,如果根据(cook)一书使用Translate行为,那么页面将以正确的语言获取(因为将获取结果,并将表内容与i18n(或您定义的自定义表)连接起来)数据字段将根据您设置的语言进行更新。

这是一个合适的解决方案吗?我正在考虑让CakePHP不使用最新的翻译输入更新“内容”表。这实际上是正确的做法,它在这里这么说:哇,谢谢你花时间回答我的问题。我感到宽慰的是,不知何故,其他人认为这没问题:)原因是,Translate仅仅是一种添加转换功能的行为,但它不会阻止/阻止模型将其数据保存/更新到主表中。