public function saveJosScientificReport(JosScientificReport $jos_scientific_report) { $data = array('name' => $jos_scientific_report->getName(), 'user_id' => $jos_scientific_report->getUserId(), 'year_id' => $jos_scientific_report->getYearId(), 'publish_date' => $jos_scientific_report->getPublishDate(), 'publish_place' => $jos_scientific_report->getPublishPlace(), 'note' => $jos_scientific_report->getNote()); $value_id = (int) $jos_scientific_report->getValueId(); if ($value_id == 0) { $this->tableGateway->insert($data); } else { if ($this->getScientificReportByArrayConditionAndArrayColumns(array('value_id' => $value_id), array('user_id'))) { $this->tableGateway->update($data, array('value_id' => $value_id)); } else { return false; } } return true; }