Esempio n. 1
0
 /**
  * Method used to save entity into it's own database
  *
  * @param Entity $entity
  *
  * @return bool|int|\PDOStatement
  * @throws QueryException
  */
 public function save(Entity $entity)
 {
     $query = null;
     if (intval($entity->getId()) > 0 && !$entity->isForceInsert()) {
         $entity->setDateUpdated(date("Y-m-d H:i:s"));
         $dto = $entity->getDto();
         unset($dto['id']);
         // No need to "update" ID field
         $query = $this->queryBuilder->update($this->getTableName(), $dto, $entity->getId());
     } else {
         $entity->setDateCreated(date("Y-m-d H:i:s"));
         $dto = $entity->getDto();
         $query = $this->queryBuilder->insertInto($this->getTableName(), $dto);
     }
     try {
         $result = $query->execute();
     } catch (\PDOException $ex) {
         throw new QueryException($ex, $query);
     }
     return $result;
 }