Как выполнить действие только после обновления конкретного атрибута?
Добрый вечер.
В ActiveRecord Yii2 в EVENT_AFTER_UPDATE мне нужно выполнить определенное действие, но только при изменении одного конкретного атрибута. К тому же мне нужно знать предыдущее значение этого атрибут. Как можно это сделать?
Заранее спасибо.
Такое можно отследить в afterSave. Для этого есть $changedAttributes и метод getOldAttribute.
!$insert && $changedAttributes['name'] !== null && $changedAttributes['name'] !== $this->getOldAttribute('name') - это можно считать изменением атрибута "name".
Еще можно посмотреть в сторону AttributeBehavior.