我已经为我的cakePHP应用程序设置了本地化,我在保存时遇到了问题。
我有以下架构
id name
另一个可翻译的字段description
。
当我执行以下代码时:
$this->Test->locale = "en_US";
$this->Test->set("name", "test 1");
$this->Test->set("description", "desc US");
$this->Test->save();
工作正常(即名称保存在上述架构和描述中,正确的详细信息保存在i18n表中) - 插入的主键是 1 - 但
当我尝试通过执行以下代码添加新翻译时:
$this->Test->locale = "fr_FR";
$this->Test->id = 1;
//$this->Test->set("name", "test 1");
$this->Test->set("description", "desc FR");
$this->Test->save();
即。遗漏name
字段,没有任何东西得救!我期望在i18n表中有另一行使用fr_FR description的新翻译。
如果我不评论name
字段,它将被保存,但它会更新name
字段不应该被翻译!!
有什么好主意的吗?
答案 0 :(得分:0)
这不仅仅是验证问题吗?如果您希望绕过验证方法,请将null
作为save方法的第二个参数传递。