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