Beispiel #1
0
 /**
  * Deleta uma linha de acordo com a PK passada como parâmetro ou configurada anteriormente
  * no objeto
  * @param mixed $id
  * @return int Retorna o número de linhas afetadas pela instrução SQL
  */
 public function delete($id = NULL)
 {
     if (is_null($id)) {
         $id = $this->data[$this->getPrimaryKey()];
     }
     $sql = new SQLDelete();
     $sql->setEntity($this->getEntity());
     $sql->setCriteria(new SQLFilter($this->getPrimaryKey(), SQLFilter::IS_EQUAL, $id));
     $conn = $this->getConnection();
     $this->statement = $sql->getStatement();
     return $conn->exec($this->statement);
 }
Beispiel #2
0
 /**
  * método delete()
  * Excluir um conjunto de objetos (collection) da base de dados
  * através de um critério de seleção.
  * @param $criteria = objeto do tipo TCriteria
  */
 function delete(SQLExpression $criteria)
 {
     // instancia instrução de DELETE
     $sql = new SQLDelete();
     $sql->setEntity(constant($this->class . '::TABLENAME'));
     // atribui o critério passado como parâmetro
     $sql->setCriteria($criteria);
     $this->sql = $sql->getStatement();
     // obtém transação ativa
     if ($conn = Connection::get()) {
         $result = $conn->exec($sql->getStatement());
         return $result;
     } else {
         // se não tiver transação, retorna uma exceção
         throw new Exception('Não há transação ativa!!');
     }
 }