示例#1
0
 public function upload()
 {
     if ($this->validate()) {
         foreach ($this->files as $file) {
             $file->delete();
         }
         foreach ($this->uploadFiles as $file) {
             $fileModel = new Files();
             $fileModel->name = $file->name;
             $fileModel->url = $fileModel->fileUrl;
             $file->saveAs($fileModel->filePath);
             if (!$fileModel->save()) {
                 $fileModel->stopTransaction();
                 return false;
             }
             $postFile = new PostFile();
             $postFile->post_id = $this->id;
             $postFile->file_id = $fileModel->id;
             if (!$postFile->validate() || !$postFile->save()) {
                 $postFile->stopTransaction();
                 return false;
             }
         }
         return true;
     } else {
         return false;
     }
 }
示例#2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getPostFiles()
 {
     return $this->hasMany(PostFile::className(), ['post_id' => 'id']);
 }