Задать вопрос
VladOsadchyi
@VladOsadchyi
Студент

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

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

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

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