Я французский разработчик, извините за плохой английский.
У меня проблема при вставке данных на нескольких языках на мой сайт. Я сказал, что моя таблица i18n была создана из консоли и вставлена на одном языке, на котором она работает!
Это ошибка:
Ошибка базы данных
Ошибка: SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец «Массив» в «списке полей» Запрос SQL: INSERT INTO _1 _ (_ 2_) ЗНАЧЕНИЯ (массив) Примечание: если вы хотите настроить это сообщение об ошибке, создайте приложение / просмотр / Ошибки / 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'
)
);
Мой AccessesController.php (папка контроллера)
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'
)
)
)