@springimport

Как в Yii2 в моделе определить менялись ли значения?

Если значения менялись, то нужно выполнить определенные действия в afterSave().

Возможно ли это?

update:
Model - ActiveRecord.
  • Вопрос задан
  • 723 просмотра
Решения вопроса 2
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Максим Федоров дал хороший вариант, дополню менее правильным, но будет работать в yii\base\Model
Добавить к моделе переменную public $old_value, в afterFind присваивать значение, потом а aftersave проверять
Ответ написан
Комментировать
qonand
@qonand
Software Engineer
если под моделью подразумевается ActiveRecord узнать о измененных атрибутах можно с помощью свойства dirtyAttributes, но здесь нужно учитывать что проверка о изменных атрибутах осуществляется с учетом строго соответствия типов.
если же под моделью подразумевается \yii\base\Model тогда встроенных инструментов для этих целей нет.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы