Size: a a a

Yii Framework 1.1

2021 June 09

КН

К. Николай in Yii Framework 1.1
а
/upload/users/thumbs_32/
/upload/users/thumbs_50/
/upload/users/thumbs_100/
тоже появились ?
источник

Е

Евгений in Yii Framework 1.1
да
источник

Е

Евгений in Yii Framework 1.1
если прописано так

 protected function afterSave() {
   if($this->isNewRecord && $this->scenario !== 'registration')
   {
     Log::add(
       Log::TYPE_MESSAGE,
       Log::SECTION_USER,
       'Добавлен пользователь '
       . CHtml::link (
         $this->username,
         Yii::app ()->createUrl (
           '/user/view',
           array('id' => $this->id)
         )
       )
     );
   }

   else
   {
     Log::add(
       Log::TYPE_MESSAGE,
       Log::SECTION_USER,
       'Редактирован пользователь '
       . CHtml::link (
         $this->username,
         Yii::app ()->createUrl (
           '/user/view',
           array('id' => $this->id)
         )
       )
     );
   }
   
   $il = new CImageLoader();
       $il->model = self::findByPk($this->id);
       $il->attribute_temp = 'image';
       $il->attribute_bd = 'avatar';
       $il->path = '/upload/users/';
       $il->thumbs = true;
       $this->avatar = $il->Upload()->avatar;
   
   return parent::afterSave();
 }
источник

Е

Евгений in Yii Framework 1.1
загружает новую не удаляю страрую
источник

КН

К. Николай in Yii Framework 1.1
$this->avatar = $il->Upload()->avatar; ты в модель то добавил, а в бд то надо как-то для этой записи поле avatar обновить)
источник

Е

Евгений in Yii Framework 1.1
ну вот это полностью в модели прописано
   $il = new CImageLoader();
       $il->model = self::findByPk($this->id);
       $il->attribute_temp = 'image';
       $il->attribute_bd = 'avatar';
       $il->path = '/upload/users/';
       $il->thumbs = true;
       $this->avatar = $il->Upload()->avatar;
источник

Е

Евгений in Yii Framework 1.1
чет я запутался
источник

Е

Евгений in Yii Framework 1.1
бд в beforeSave обновляет поле avatar а в afterSave нет?
источник

КН

К. Николай in Yii Framework 1.1
не afterSave тут ты что то делаешь после того как записал в БД
я же как вариант предложил
$this->save(false, array('avatar')); - что бы сохранить только avatar
источник

КН

К. Николай in Yii Framework 1.1
или в место $this->save(...) это self::model()->updateAll(array('avatar'), 'id = :id', array(':id' => $this->id));
источник

Е

Евгений in Yii Framework 1.1
это в контроллер или в модель?
источник

КН

К. Николай in Yii Framework 1.1
в модели в afterSave
источник

Е

Евгений in Yii Framework 1.1
а это в контроллер ?

   $il = new CImageLoader();
       $il->model = self::findByPk($this->id);
       $il->attribute_temp = 'image';
       $il->attribute_bd = 'avatar';
       $il->path = '/upload/users/';
       $il->thumbs = true;
       $this->avatar = $il->Upload()->avatar;
источник

КН

К. Николай in Yii Framework 1.1
все в  afterSave
источник

Е

Евгений in Yii Framework 1.1
в ответ Нет столбцов подлежащих обновлению в таблице "gp_user".
источник

КН

К. Николай in Yii Framework 1.1
а в таблице есть столбец avatar ?
источник

Е

Евгений in Yii Framework 1.1
да конечно
источник

КН

К. Николай in Yii Framework 1.1
ты через update или save делаешь обновление ?
источник

Е

Евгений in Yii Framework 1.1
в модели через Save
источник

Е

Евгений in Yii Framework 1.1
$il = new CImageLoader();
       $il->model = self::findByPk($this->id);
       $il->attribute_temp = 'image';
       $il->attribute_bd = 'avatar';
       $il->path = '/upload/users/';
       $il->thumbs = true;
       $this->avatar = $il->Upload()->avatar;
   self::model()->updateAll(array('avatar'), 'id = :id', array(':id' => $this->id));
источник