我是一名法国开发人员,对我糟糕的英语感到抱歉。
在我的网站上以多种语言插入数据时遇到问题。 我说我的i18n表是从控制台创建的,并插在一个可用的单一语言上!
这是错误:
数据库错误
错误:SQLSTATE [42S22]:找不到列:1054'字段列表'中的未知列'数组'
SQL查询:INSERT INTO ` expandingCakePHP. Accesses
(name
)VALUES(数组)
注意:如果要自定义此错误消息,请创建app / View / Errors / pdo_error.ctp
我的admin_add.ctp(文件查看/访问)
foreach (Configure :: read ('Config.languages') as $lang) {
echo $this-> Form-> input ('Access.name.'. $lang, array ('label' => __ ('Name'). '(. $lang.') '));
}
我的access.php(模型文件)
var $actsAs = array (
'Translate' => array (
'name' => '_name'
)
);
My AccessesController.php(Controller文件夹)
admin_add public function () {
if ($this-> request-> is ('post')) {
$this-> Access-> create ();
$this-> Access-> locale = Configure :: read ('Config.languages');
if ($this-> Access-> save ($ this-> request-> data)) {
$this-> Session-> setFlash (__ ('The access has been saved'), 'notif');
$this-> redirect (array ('action' => 'index'));
}
else {
$this-> Session-> setFlash (__ ('The Access Could not be saved. Please, try again.'), 'notif', array ('type' => 'alert-error'));
}
}
}
在我的bootstrap.php(配置文件)
中Configure :: write ('Config.languages', array ('eng', 'eng'));
Configure :: write ('Config.language', 'eng');
Configure :: write ('App.encoding', 'utf-8');
邮寄表格收到的结构是否正确? / app / Controller / AccessesController.php(第46行)
array (
'Access' => array (
'name' => array (
'eng' => 'title',
'eng' => 'title'
)
)
)
答案 0 :(得分:1)
使用此
$this->Model->save($this->request->data,false);
答案 1 :(得分:0)
应该更像是:
array (
'Access' => array (
'name' => 'a name',
'title' => 'a title',
'another model' => array(...)
)
)
)
答案 2 :(得分:0)
请使用$this->Model->saveAll($this->request->data);
而不是$this->Model->save($this->request->data);