如何在cakephp 3中向sql查询添加`字符

如何在cakephp 3中向sql查询添加`字符,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,我有一个带有特殊字段名称的表,例如“from”和“order” (此表与其他cms一起使用,我无法更改表结构) 我想用CakePHP3添加一个记录,但我得到了“数据库错误” 似乎cakephp 3的查询没有使用“字符”进行初始化 控制器中的我的代码: $tour = $this->Tours->patchEntity($tour, $this->request->data); $this->Tours->save($tour); 生成的SQL是: INSER

我有一个带有特殊字段名称的表,例如“from”和“order”

(此表与其他cms一起使用,我无法更改表结构)

我想用CakePHP3添加一个记录,但我得到了“数据库错误”

似乎cakephp 3的查询没有使用“字符”进行初始化

控制器中的我的代码:

$tour = $this->Tours->patchEntity($tour, $this->request->data);
$this->Tours->save($tour);
生成的SQL是:

INSERT INTO tour_tours 
       (title, from , to, description, duration) 
VALUES 
       ('tour title', 'from', 'to', 'description of tour', 7)
SQL查询有语法错误

我该怎么办?

您需要添加

“quoteIdentifiers”=>true
在文档中所述的数据源配置中


您可以在app.php上从'quoteIdentifiers'=>false到'quoteIdentifiers'=>true配置数据源

您的一列正在使用由保留的列名

正如您可以看到的那样,FROMORDER是MYSQL的保留字,您可以尝试从数据库表中更改这些字。希望它能起作用

例如:“tour_tours”表有一个“from”字段,这会导致数据库错误。因此,请更改表中的这些字段,然后重试