1

我正在将系统从 CakePHP 1.1 升级到 1.3。在 1.1 中使用 create()(后跟 save())时,系统会很高兴地向数据库添加一个 insert 条目,并将 created 和 modified 日期时间字段设置为创建时间。但是,在 1.3 中,这不再正确发生。这里修改的仍然设置为创建和保存时的当前时间,但没有设置创建的日期时间。关于为什么会发生这种情况的任何建议?谢谢!

创建表代码(根据评论中的要求):

CREATE TABLE `units` (
    `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    `id_b36` VARCHAR(4) NULL DEFAULT NULL,
    `subject_id` INT(10) UNSIGNED NOT NULL,
    `gradelevel_id` INT(10) UNSIGNED NOT NULL,
    `user_id` INT(10) UNSIGNED NOT NULL,
    `school_id` INT(10) NULL DEFAULT NULL,
    `district_id` INT(10) NULL DEFAULT NULL,
    `description` VARCHAR(255) NOT NULL,
    `sort` FLOAT(5,1) NOT NULL DEFAULT '0.0',
    `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
    `modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
    PRIMARY KEY (`id`),
    INDEX `subject_id` (`subject_id`),
    INDEX `gradelevel_id` (`gradelevel_id`),
    INDEX `sort` (`sort`),
    INDEX `school_id` (`school_id`, `district_id`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
ROW_FORMAT=DEFAULT
AUTO_INCREMENT=483

我应该注意,这只是其中一张表,所有其他型号都会发生同样的事情。谢谢!

4

1 回答 1

2

已创建 DEFAULT NULL

created CakePHP 仅在定义为 NULL时才会填充:

通过在数据库表中将创建和/或修改的字段定义为日期时间字段(默认为 null),CakePHP 将识别这些字段并在创建记录时自动填充它们......

于 2013-08-23T15:52:37.663 回答