保存记录时未插入特定列

A specific column is not being inserted when saving a record

我正在使用 CakePHP 1.3.13。在这里我写了一个代码来将表单插入数据库。

在这里,交易数据库 table 如下所示。

当我将记录插入数据库时​​,voucher_code 列未插入。

在这里,当我打印 $this->data 时,它会给出所有数据,例如:

Array
(
[Deal] => Array
    (
        [title] => Deal title
        [original_price] => 350
        [discount] => 45
        [total_price] => 192.5
        [voucher_code] => TEST3211
        [redeem_points] => 158
        [deal_details] => tetert
        [condition] => Testing
        [deal_address] => tertre
        [deal_end_date] => 2016-05-26
        [no_of_deals] => 10
        [merchant_id] => 24
        [image] => 146399768856085.jpg
    )

)

这里我写了如下插入查询:

 $this->Deal->create();
 $this->Deal->save($this->data);

所以除了 voucher_code 之外的所有列都被插入了。那么会出现什么错误呢?以及如何解决此错误?

只有缓存数据库 table 模式中存在的那些 columns/fields 才会被保存,因此在 CakePHP 已经缓存它之后添加字段时,您必须清除缓存(删除app/tmp/cache/models) 以便识别新列。

正在修改

app/Config/core.php 
Config::write('debug',2); 

正在刷新页面并恢复

Config::write('debug'); 

原始值也可以。

这是一个非常常见的问题转到您项目的 tmp 文件夹并删除模型和持久文件夹下的所有缓存并重新 运行 您的查询并开始工作。