CakePHP 2可能不会在表上填充“created”或“modified”字段的情况

时间:2017-11-09 16:53:48

标签: php cakephp cakephp-2.0

我在CakePHP 2.4.4中有一个遗留应用程序

我添加了一个新的数据库表,并添加了createdmodified字段,两者都是DATETIME。数据库是MySQL。

之前我在Cake(2和3)上做了很多工作,并且总是发现这些字段会在创建/修改记录时自动更新。它甚至在Cake 2的文档中提到了这一点:https://book.cakephp.org/2.0/en/models/saving-your-data.html#using-created-and-modified

当我保存或修改记录时,created(或modified,如果正在修改)中填充了0000-00-00 00:00:00

为什么会这样?我甚至不知道从哪里开始寻找这个,因为我从来不知道它会发生。

我在控制器或模型中没有做任何事情来“取消设置”这些字段。

我的表结构如下。我也尝试在NullNO上将created更改为modified - 结果相同。

mysql> DESCRIBE tags;
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(10)      | NO   | PRI | NULL    | auto_increment |
| title    | varchar(255) | NO   |     | NULL    |                |
| created  | datetime     | YES  |     | NULL    |                |
| modified | datetime     | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+

我正在保存编辑的数据,如下所示:

$this->Tag->save( $this->request->data ) 

如果我var_dump($this->request->data),它看起来像这样:

array(2) { ["Save"]=> string(6) "Update" ["Tag"]=> array(2) { ["id"]=> string(1) "2" ["title"]=> string(6) "France" } }

模型(app/Model/Tag.php) - 尽可能基本:

class Tag extends AppModel {
}

0 个答案:

没有答案