public function saveFile(File $file) { $data = array('title' => $file->getTitle(), 'description' => $file->getDescription(), 'link' => $file->getLink(), 'size' => $file->getSize(), 'extension' => $file->getExtension(), 'category' => $file->getCategory(), 'uploaded' => $file->getUploaded(), 'updated' => date('Y-m-d H:i:s')); $id = (int) $file->getId(); if ($id == 0) { $this->tableGateway->insert($data); } else { if ($this->getFile($id)) { $this->tableGateway->update($data, array('id' => $id)); } else { throw new \Exception('Form id does not exist'); } } }