Exemplo n.º 1
0
 /**
  * Método que executa um objeto Update genérico
  * @param Update $update
  * @throws SqlException
  * @return boolean Retorna TRUE em caso de sucesso ou FALSE em caso de erro
  */
 public function updateObj(Update $update)
 {
     if (!$update->tabelaIsset()) {
         $update->setTabela($this->getTabela());
     }
     $prepare = $this->pdo->prepare($update);
     //Executando a validação do PDO
     foreach ($update->getSet() as $coluna => $valor) {
         if (!isset($this->colunas[$coluna])) {
             //Este trecho deve ser reavaliado pois impede a busca usando como base
             //colunas de tabelas referenciadas por inner
             throw new SqlException("Uma das colunas configuradas não existe(update - {$coluna})", 30);
         }
         $prepare->bindValue(":{$coluna}", $valor, $this->colunas[$coluna]->getTipo());
     }
     //Executando a validação da clausula where
     foreach ($update->getWhere()->getColunas() as $coluna => $valor) {
         if (!isset($this->colunas[$coluna])) {
             //Este trecho deve ser reavaliado pois impede a busca usando como base
             //colunas de tabelas referenciadas por inner
             throw new SqlException("Uma das colunas configuradas não existe(update - {$coluna})", 30);
         }
         $prepare->bindValue(":{$coluna}", $valor, $this->colunas[$coluna]->getTipo());
     }
     return $prepare->execute();
 }
Exemplo n.º 2
0
 /**
  * Método que executa um objeto Update genérico.
  *
  * @param Update $update
  *
  * @throws SqlException
  *
  * @return bool Retorna TRUE em caso de sucesso ou FALSE em caso de erro
  */
 public function updateObj(Update $update)
 {
     if (!$update->tabelaIsset()) {
         $update->setTabela($this->getTabela());
     }
     try {
         $prepare = $this->pdo->prepare($update);
         //Executando a validação do PDO
         foreach ($update->getSet() as $coluna => $valor) {
             if (!isset($this->colunas[$coluna])) {
                 //Este trecho deve ser reavaliado pois impede a busca usando como base
                 //colunas de tabelas referenciadas por inner
                 throw new SqlException("Uma das colunas configuradas não existe(update - {$coluna})", 30);
             }
             $prepare->bindValue(":{$coluna}", $valor, $this->colunas[$coluna]->getTipo());
         }
         //Executando a validação da clausula where
         $id = false;
         foreach ($update->getWhere()->getColunas() as $coluna => $valor) {
             if (!isset($this->colunas[$coluna])) {
                 //Este trecho deve ser reavaliado pois impede a busca usando como base
                 //colunas de tabelas referenciadas por inner
                 throw new SqlException("Uma das colunas configuradas não existe(update - {$coluna})", 30);
             }
             $prepare->bindValue(":{$coluna}", $valor, $this->colunas[$coluna]->getTipo());
             if (!is_int($id)) {
                 $id = $valor;
             }
         }
         $return = $prepare->execute();
         if (is_int($id)) {
             //Caso os parametros tenha sido validados no where. Pega o primiero e armazena no log
             //ISSO DEVE SER REFEITO
             $this->salvarLog(Logs::UPDATE, $id);
         }
     } catch (PDOException $exc) {
         throw new SqlException($exc->getMessage(), $exc->getCode(), $exc->getPrevious());
     }
     return $return;
 }