关于6.0的获取器的问题

浏览:464 发布日期:2020/03/15 分类:技术分享
如果设置了 获取器 比如通常保存的时间戳 需要获取 时间格式化

那么在Model里面 设置getDateTimeAttr

如果在查询后 需要更新你这个时间, 通常都是直接

$mod->date_time == time() //这样的操作

但是 结果 会变成 格式化的时间。 //date()格式化的时间 而且是1970 的时间

直接调用 save() 保存失败。

因为$mod->date_time 的值还是date格式化后的时间。

尝试添加setDateTimeAttr 无效

尝试调用$mod-> setAttr() 赋值 无效

其他方法没找到 也就是说 只要获取器设置这个值了。

那么就在以后无法 使用这个获取器获取类的变量 直接赋值修改数据。

测试 正确赋值 格式化的时间 比如 2020-03-16 00:00:00 无问题

但必须得设置 setDateTimeAttr

测试版本php7.3 也可以能是 7.3的变量机制问题。

反正 无法在修改这个值 除非是正确的格式化后的时间格式

要么是一个bug 要么7.3的变量保护机制问题。


给大家提个醒
最佳答案
评论( 相关
后面还有条评论,点击查看>>