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; } }