ThinkORM怎么调整时间字段
小编给大家分享一下ThinkORM怎么调整时间字段,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
不少用户在升级6.0最新版本框架后出现了获取不到时间字段原始值的情况,这是因为think-orm库的一个最新调整导致的。
在最新的ThinkORM中,字段类型和时间字段的自动处理不再纳入获取器范畴,而是在查询到结果后的第一时间就进行了处理,避免以后每次调用数据的时候都要进行一次额外的检测和处理。而由于不再纳入获取器,所以导致无法获取这些字段的原始值,包括设置了类型转换的字段和自动时间处理字段。
时间字段的自动处理是框架提供的实现时间字段(包括create_time和update_time,支持自定义字段名)的自动写入和自动输出转换功能。
如果你需要获取时间字段的原始值,那么需要关闭自动时间字段处理功能,也就是设置autoWriteTimestamp属性为false,然后对时间字段自定义获取器接管时间字段的输出,并且记得一旦关闭自动时间字段处理,时间字段的数据写入必须手动写入。
如果你希望时间字段自动写入处理,但不希望进行自动格式化输出,可以设置dateFormat属性为false。如果在数据库配置文件中设置的话,应该如下设置:
// 自动写入时间戳字段// true为自动识别类型 false关闭// 字符串则明确指定时间字段类型 支持 int timestamp datetime date'auto_timestamp' => true, // 时间字段取出后的默认时间格式'datetime_format' => false,
think-orm升级到最新版本已经修正上述问题,但注意获取原始数据最好是用getOrigin方法替代getData方法,如果你需要在定义的获取器方法中读取原始的时间字段数据,应该用$this->origin['create_time']而不是用 $data['create_time']或者$this->data['create_time']。
看完了这篇文章,相信你对“ThinkORM怎么调整时间字段”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网行业资讯频道,感谢各位的阅读!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341