Я уже переписал какое-то приложение с CakePHP 2 на CakePHP 3. У меня есть некоторая структура в базе данных со столбцом: ключ (автогенерируемая ключевая строка). В mysql ключ - это ключевое слово, поэтому, когда я пишу SQL-запрос, мне приходится экранировать его как
INSERT INTO table (`key`) VALUES (....)
К сожалению, когда я пытаюсь сохранить Entity, я получаю сообщение об ошибке:
[42000][1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'key,
Эта ошибка возникает в Cake\ORM\Table в методе _insert() в этом месте:
$statement = $this->query()->insert(array_keys($data))
->values($data)
->execute();
Любые предложения, как избежать этой ситуации? CakePHP версии 3.5.11
quoteIdentifiers
параметр в конфигурации базы данных. Он должен быть установлен наtrue
. - person plugowski   schedule 06.02.2018