Для проекта, над которым я работаю, я должен использовать поле LastEdited в сочетании с некоторыми другими данными, чтобы вывести некоторую информацию о рассматриваемом DataObject.В большинстве случаев это нормально, поскольку поле LastEdited почти всегда является нормальным значением при нормальных обстоятельствах.
Однако при попытке выполнить модульное тестирование моего кода я сталкиваюсь с проблемой, заключающейся в том, что, несмотря на установку поля LastEdited вМое приспособление, когда данные загружаются во временную базу данных, в поле LastEdited устанавливается текущее время.
Мое текущее предположение (в некоторой степени подкрепленное некоторой первоначальной ошибкой в сапфире) заключается в том, что вызов DataObject :: write() автоматически устанавливает LastEdited на текущее время (ожидаемое поведение).
Мой вопрос заключается в том, существует ли способ временно отключить эту функцию, или мне придется исправлять сапфир для этого?
ОБНОВЛЕНИЕ Я решил, что возможность установить последнее отредактированное значение из прибора было полезным, и сделал исправление.Хорошие новости, это будет в следующем выпуске silverstripe