yii2-fileapi-widget
yii2-fileapi-widget copied to clipboard
isAttributeChanged doesn't work
Привет
Возникла проблема, у меня существует модель в которой объявлено public поле picture_url, само поле хранится в json, после afterFind я делаю его развертку и присваиваю значение полю picture_url, при save велаю соответсвенно наоборот.
Виджет отлично работает при создании модели, в том числе и сохраняется изображение, все ок, но при редактировании возникает ошибка.
А именно, не загружается изображенее, вернее как, оно загружается но только в папку tempPath, а дальше нет. При этом у меня сохраняется имя файла и если его вручную перенести в path, то все нормально.
Обнаружил что проблема связана с проверкой if ($this->owner->isAttributeChanged($attribute))
Как временное решение, убрал isAttributeChanged и в принципе все работает. Но было бы хорошо исправить это цивилизованым способом и в репозитории.
Приветствую! Если я все правильно понял, то вам наверное нужно передавать в атрибуты поведения не само поле которое сохраняется в БД, а именно ваш публичный атрибут, и уже за счет него все разруливать. Если я не так понял, то лучше напишите пример кода, так как сложно интуитивно что-то решить. Спасибо!
Я как раз и передаю атрибут, который public. Собстренно модель
Да и оказывается теперь я не могу обновить модель т.к. не найден атрибут picture_url.
Посмотрел код. Вижу по сути проблему, но не до конца. Я не смог найти где вы перед сохранением передаете данные из picture_url
в поле data
чтоб они сохранились?
Это делает валидатор, в конечном итоге картинка лежит в metadata, в json массиве
Хорошо, попробую на днях решить проблему. Спасибо!
Да наоборот, вам спасибо!