public function load($data, ContextInterface $context) { if ($id = $context->getIdentifier()) { return $this->conn->update($context->getTableName(), $data, ['id' => $id]); } // @TODO get id //$context->setIdentifier($id); //$data['id'] = $this->conn->fetchColumn("SELECT NEXTVAL('fos_user_id_seq')", [], 0); return $this->conn->insert($context->getTableName(), $data); }
public function transform($data, ContextInterface $context) { $this->mapper->verifyCount($data); $id = $context->getIdentifier(); if (null !== $this->logger) { $this->logger->info(sprintf('Transforming data with id #%s', $id)); } $object = $this->doctrine->getRepository($this->className)->find($id); if (null === $object) { //TODO use a configurable factory here $object = new $this->className(); if (null !== $this->logger) { $this->logger->info(sprintf('Creating new object "%s"', $this->className)); } } $this->mapper->set($data, $object); return $object; }