Php Codeigniter Datamapper自动创建更新字段

Php Codeigniter Datamapper自动创建更新字段,php,codeigniter,codeigniter-2,codeigniter-datamapper,Php,Codeigniter,Codeigniter 2,Codeigniter Datamapper,看起来这应该是最简单的部分,但我似乎无法继续。“我的创建的和更新的字段未填充。我尝试将字段重命名为不同的名称,但没有成功。除了下面的模式和设置类(非常基本)之外,我还缺少什么吗 Codeigniter v2.1.2 Datamapper ORM v1.8.2.1 模式: CREATE TABLE `users` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NULL, `pas

看起来这应该是最简单的部分,但我似乎无法继续。“我的
创建的
更新的
字段未填充。我尝试将字段重命名为不同的名称,但没有成功。除了下面的模式和设置类(非常基本)之外,我还缺少什么吗

Codeigniter v2.1.2 Datamapper ORM v1.8.2.1

模式:

CREATE TABLE `users` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `created` datetime NOT NULL,
  `updated` datetime NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1
用户类别:

<?php

class User extends DataMapper
{

    function User()
    {
        parent::DataMapper();
    }

}

在config/datamapper.php文件中,确保“created_field”和“updated_field”设置为与数据库列匹配。或者可以在模型本身中覆盖它们。即

<?php

class User extends DataMapper
{
    var $created_field = 'created';
    var $updated_field = 'updated';

    function User()
    {
        parent::DataMapper();
    }

}

在config/datamapper.php文件中,确保“created_field”和“updated_field”设置为与数据库列匹配。或者可以在模型本身中覆盖它们。即

<?php

class User extends DataMapper
{
    var $created_field = 'created';
    var $updated_field = 'updated';

    function User()
    {
        parent::DataMapper();
    }

}

好的,找到了答案,希望这能帮助别人。我需要在application/config/datamapper.php文件中设置以下内容:

$config['local_time'] = TRUE;
$config['unix_timestamp'] = FALSE;
$config['timestamp_format'] = 'Y-m-d H:i:s';

好的,找到了答案,希望这能帮助一些人。我需要在application/config/datamapper.php文件中设置以下内容:

$config['local_time'] = TRUE;
$config['unix_timestamp'] = FALSE;
$config['timestamp_format'] = 'Y-m-d H:i:s';

嗯,有趣的事。我允许创建的
和更新的
列为NULL。当我创建新用户时,
创建的
设置为“0000-00-00 00:00:00”,并且
更新的
为空。所以它似乎设置了
created
列,但是我需要在某个地方编辑时间配置吗?嗯,有趣的事情。我允许创建的
和更新的
列为NULL。当我创建新用户时,
创建的
设置为“0000-00-00 00:00:00”,并且
更新的
为空。因此,它似乎设置了
created
列,但我需要在某个地方编辑时间配置吗?默认情况下,Datamapper配置为使用整数作为时间戳,并存储UNIX时间戳,这比MYSQL datetime字段要高效得多。但用户文档说“注意:默认情况下,创建和更新的字段为日期时间类型,使用GMT/UTC时间。“(2013/04/23访问)@WanWizard:更新和创建的字段必须允许为零。我说得对吗?这个库在创建模型时将nil放在更新字段中。并不是说更新后的字段和在数据库中创建模型时创建的字段相同。这是库的预期行为吗?默认情况下,Datamapper配置为使用整数作为时间戳,并存储UNIX时间戳,这比MYSQL datetime字段要高效得多。但是用户文档说“注意:默认情况下,创建和更新的字段为datetime类型,并且使用GMT/UTC时间。”(访问日期2013/04/23)@WanWizard:更新和创建的字段必须允许为零。我说的对吗?在创建模型时,此库将零放在更新字段中。更新字段与在数据库中创建模型时创建字段不同。这是库的预期行为吗?