/** * @param AbstractEntity $entity * @return AbstractEntity * @throws \Edefine\Framework\Database\DatabaseException */ private function updateEntity(AbstractEntity $entity) { $updateParts = []; foreach ($entity->getMappedFieldsWithValues() as $field => $value) { $updateParts[] = sprintf('`%s` = %s', $field, ValueConverter::convertToDatabase($value)); } $result = $this->database->exec(sprintf('UPDATE `%s` SET %s WHERE `id` = %d', $entity->getTableName(), implode(', ', $updateParts), $entity->getId())); return $entity; }