#parse-platform
#платформа синтаксического анализа
Вопрос:
Допустим, я хочу выполнять пользовательскую логику только, скажем, при изменении verified
поля пользователя с false
на true
(чтобы убедиться, что им разрешено выполнять эту операцию). Есть ли способ в облачном коде увидеть, каково «текущее», т. Е. подлежащее перезаписи значение поля?
Ответ №1:
Я бы посмотрел на changedAttributes()
, previousAttributes()
и previous("columnName")
, были ли они уже представлены в beforeSave
обработчике.
Примечание к обновлению: ни один из этих методов не помогает.
Единственный другой вариант, который я видел в некоторых старых вопросах, — это проверить object.existed()
и в этом случае выполнить get()
запрос на загрузку исходных значений перед сохранением. Очевидно, что это вызывает 2 запроса API на сохранение.
Было бы здорово услышать ответ, работают ли измененные / предыдущие методы.
Обновить
С тех пор я провел более тщательное тестирование, и единственным вариантом является get()
предыдущая версия записи. Больше ничего не работает. Это, конечно, требует, чтобы вы сделали это в обработчике перед сохранением.
Комментарии:
1. Они этого не делают. Они возвращают новое значение, а не старое.