Возможно ли проверить предыдущее значение ключа в beforeSave?

#parse-platform

#платформа синтаксического анализа

Вопрос:

Допустим, я хочу выполнять пользовательскую логику только, скажем, при изменении verified поля пользователя с false на true (чтобы убедиться, что им разрешено выполнять эту операцию). Есть ли способ в облачном коде увидеть, каково «текущее», т. Е. подлежащее перезаписи значение поля?

Ответ №1:

Я бы посмотрел на changedAttributes() , previousAttributes() и previous("columnName") , были ли они уже представлены в beforeSave обработчике.

Примечание к обновлению: ни один из этих методов не помогает.

Единственный другой вариант, который я видел в некоторых старых вопросах, — это проверить object.existed() и в этом случае выполнить get() запрос на загрузку исходных значений перед сохранением. Очевидно, что это вызывает 2 запроса API на сохранение.

Было бы здорово услышать ответ, работают ли измененные / предыдущие методы.

Обновить

С тех пор я провел более тщательное тестирование, и единственным вариантом является get() предыдущая версия записи. Больше ничего не работает. Это, конечно, требует, чтобы вы сделали это в обработчике перед сохранением.

Комментарии:

1. Они этого не делают. Они возвращают новое значение, а не старое.