/**
  * @param EntityInterface $entity
  * @return boolean
  * @throws \PDOException
  */
 private function createNew(EntityInterface $entity)
 {
     $query = 'INSERT INTO `' . $entity->getTableName() . '` ';
     $query .= '(';
     foreach ($entity->getEntityFields() as $field) {
         $query .= '`' . $field . '`, ';
     }
     $query = substr($query, 0, -2);
     $query .= ') VALUES (';
     foreach ($entity->getEntityFields() as $field) {
         $fieldValue = $entity->get($field);
         $fieldType = gettype($fieldValue);
         if ($fieldType == 'boolean') {
             $fieldValue = $fieldValue ? '1' : '0';
         }
         if (($field == 'created_at' || $field == 'updated_at') && is_null($fieldValue)) {
             $fieldValue = date('Y-m-d H:i:s', time());
         }
         $value = is_null($fieldValue) ? 'NULL, ' : '\'' . $fieldValue . '\', ';
         $query .= $value;
     }
     $query = substr($query, 0, -2);
     $query .= ');';
     $_q = $query;
     $query = $this->pdo->getPdo()->query($query);
     if (!$query) {
         $errorInfo = $this->pdo->getPdo()->errorInfo();
         throw new \PDOException($errorInfo[2] . $errorInfo[0]);
     }
     return $query->execute();
 }