function beforeSave($insert) { if (parent::beforeSave($insert)) { $file = UploadedFile::getInstance($this, 'image'); if ($file && $file->error === UPLOAD_ERR_OK) { // Ищем, есть ли уже такой загруженный файл $file_model = Files::findOne(['hash' => md5_file($file->tempName)]); if ($file_model) { $file_model->repeats++; } else { $file_model = new Files(); $file_model->saveImageFile($file); $file_model->repeats = 1; } $file_model->save(); $this->file_id = $file_model->id; } else { $this->addError('image', 'Невозможно загрузить файл'); return false; } return true; } else { return false; } }