【发布时间】:2017-05-05 20:29:53
【问题描述】:
我正在使用 Cakephp 3,我希望在我的模型中有一个名为“before”的列。
不幸的是,当我尝试创建和保存一个实体时,我收到了这个错误:
[PDOException] SQLSTATE[42000]: 语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 1 行的 'before、after、created_at) VALUES (1047, 'blabla', 'toto', ' 附近使用
我创建这个实体的做法像往常一样:
$this->save(
$this->newEntity([
'tracker_id' => $trackerEntity->get('id'),
'before' => 'blabla',
'after' => $after,
'created_at' => new \DateTime(),
])
);
如果我将列“之前”重命名为另一个名称,例如“toto”,它就可以工作。 MYSQL 函数“之前”存在,所以我猜这就是 PDO 不喜欢它的原因……
有没有人仍然使用具有此名称的列的技巧?喜欢逃避功能的方法吗?
谢谢
【问题讨论】:
-
当您在保存方法中设置查询时,只需在 `before` 周围添加这些东西...
标签: php mysql cakephp pdo cakephp-3.0