VladOsadchyi
@VladOsadchyi
Студент

Как выполнить действие только после обновления конкретного атрибута?

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

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

Войти через центр авторизации
Похожие вопросы