yii2-fileapi-widget icon indicating copy to clipboard operation
yii2-fileapi-widget copied to clipboard

isAttributeChanged doesn't work

Open astappiev opened this issue 10 years ago • 7 comments

Привет

Возникла проблема, у меня существует модель в которой объявлено public поле picture_url, само поле хранится в json, после afterFind я делаю его развертку и присваиваю значение полю picture_url, при save велаю соответсвенно наоборот.

Виджет отлично работает при создании модели, в том числе и сохраняется изображение, все ок, но при редактировании возникает ошибка.

А именно, не загружается изображенее, вернее как, оно загружается но только в папку tempPath, а дальше нет. При этом у меня сохраняется имя файла и если его вручную перенести в path, то все нормально.

Обнаружил что проблема связана с проверкой if ($this->owner->isAttributeChanged($attribute))

Как временное решение, убрал isAttributeChanged и в принципе все работает. Но было бы хорошо исправить это цивилизованым способом и в репозитории.

astappiev avatar Feb 02 '15 13:02 astappiev

Приветствую! Если я все правильно понял, то вам наверное нужно передавать в атрибуты поведения не само поле которое сохраняется в БД, а именно ваш публичный атрибут, и уже за счет него все разруливать. Если я не так понял, то лучше напишите пример кода, так как сложно интуитивно что-то решить. Спасибо!

vova07 avatar Feb 02 '15 14:02 vova07

Я как раз и передаю атрибут, который public. Собстренно модель

astappiev avatar Feb 02 '15 14:02 astappiev

Да и оказывается теперь я не могу обновить модель т.к. не найден атрибут picture_url.

astappiev avatar Feb 02 '15 14:02 astappiev

Посмотрел код. Вижу по сути проблему, но не до конца. Я не смог найти где вы перед сохранением передаете данные из picture_url в поле data чтоб они сохранились?

vova07 avatar Feb 02 '15 14:02 vova07

Это делает валидатор, в конечном итоге картинка лежит в metadata, в json массиве

astappiev avatar Feb 02 '15 14:02 astappiev

Хорошо, попробую на днях решить проблему. Спасибо!

vova07 avatar Feb 02 '15 14:02 vova07

Да наоборот, вам спасибо!

astappiev avatar Feb 02 '15 14:02 astappiev