2009-10-14 66 views
0

我正在使用翻譯行爲。CakePHP:保存翻譯會將翻譯後的字段保存在原始表格中,爲什麼?

以下是這種情況:我使用 語言日語保存模型「內容」的翻譯。

然後我檢查數據庫中相應的表格「內容」,我發現我的'標題'和'正文'字段被更改爲翻譯輸入(日語)。我的英文(和日文)內容保存在content_i18ns表中。

我的意見中的所有內容仍然是英文,所以一切正常。我只是 擔心爲什麼我的'內容'表更新與翻譯輸入。 它可能會導致未來的錯誤。

可以麼?我做錯了什麼或者這是CakePHP的正常行爲?

在此先感謝!

回答

1

這是正常的。

您保存的所有內容都將以您當前在頁面上使用的語言保存在內容表中。 +它將被保存在i18n表中。

它不會導致任何問題,您不會丟失數據,並且如果您根據(cook)書使用翻譯行爲,那麼您的頁面將以正確的語言讀取(因爲會獲取結果將表內容和i18n(或您定義的自定義表)連接起來,數據字段將根據您設置的語言進行更新)。

+0

哇感謝您回答我的問題。我很欣慰,不知何故別人認爲它沒問題:) – user133127 2009-11-30 00:34:23

+0

原因是Translate只是增加了翻譯功能的行爲,但它不會阻止/阻止模型將其數據保存/更新到主表。 – 2013-08-30 10:19:49

1

刪除字段「標題」和「體」從你的「內容」表:)

+0

這是一個合適的解決方案嗎?我正在考慮讓CakePHP不更新最新翻譯過的輸入的'Content'表。 – user133127 2009-10-17 00:58:48

+0

這實際上是正確的事情,它在這裏這麼說:http://book.cakephp.org/view/1331/Defining-the-Fields – Smickie 2011-06-28 14:06:51