对于我正在处理的项目,我必须使用 LastEdited 字段,结合其他一些数据,来推断有关 DataObject 的一些信息。这在大多数情况下都很好,因为 LastEdited 字段在正常情况下几乎总是一个合理的值。
但是,在尝试对我的代码进行单元测试时,我遇到了一个问题,即尽管在我的夹具中设置了 LastEdited 字段,但当数据加载到临时数据库中时,它会将 LastEdited 字段设置为当前时间。
我目前的假设(在某种程度上得到了一些初步探索蓝宝石的支持)是调用 DataObject::write() 会自动将 LastEdited 设置为当前时间(预期行为)。
我的问题是是否有办法暂时禁用此功能,还是我必须修补蓝宝石才能做到这一点?
更新我认为能够从灯具中设置最后编辑的值很有用并且做了补丁。好消息,它将在下一个版本的 silverstripe 中发布