webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg

Как вызвать событие в yii2?

Есть у меня поведение которое загружает картинки, повешено на события: EVENT_BEFORE_INSERT и EVENT_BEFORE_UPDATE
public function events()
  {
    return [
        ActiveRecord::EVENT_BEFORE_INSERT => 'upload',
        ActiveRecord::EVENT_BEFORE_UPDATE => 'upload',
    ];
  }


Но если атрибуты не изменились, то они не срабатывают. А атрибут $photo как раз меняется внутри "upload". Замкнутый круг. Как побороть?

Если послать вместе с картинкой еще какой-то измененный атрибут - срабатывает. Но это не вариант.

Дело в том что картинка - это публичная переменная, пока вышел из ситуации передавая всместе с ней другой аттрибут, который по сути не меняется но вызывает события.
  • Вопрос задан
  • 333 просмотра
Решения вопроса 2
bitver
@bitver
Этих поведений для загрузки хоть... жуй, почему бы не посмотреть как там сделано или лучше вообще взять готовое?

По вопросу :
yii\db\ActiveRecord::markAttributeDirty()
Ответ написан
Комментировать
mhthnz
@mhthnz
PHP, YII2, Golang, Linux
Посмотрите мое поведение для аплоада, может прояснится:
https://github.com/mhthnz/yii2-helpful-behaviors/b...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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