function count(Criteria $criteria)
 {
     $expression = $criteria->dump();
     $sql = "SELECT count(*) FROM " . constant($this->activeRecord . '::TABLENAME');
     if ($expression) {
         $sql .= ' WHERE ' . $expression;
     }
     if ($conn = Transaction::get()) {
         Transaction::log($sql);
         $result = $conn->query($sql);
         if ($result) {
             $row = $result->fetch();
         }
         return $row[0];
     } else {
         throw new Exception('Não há transação ativa!!');
     }
 }
Example #2
0
 /**
  * Retorna a quantidade de objetos da base de dados
  * que satisfazem um determinado critério de seleção.
  * @param $criteria = objeto do tipo TCriteria
  */
 function count(Criteria $criteria)
 {
     $expression = $criteria->dump();
     $sql = "SELECT count(*) FROM " . constant($this->activeRecord . '::TABLENAME');
     if ($expression) {
         $sql .= ' WHERE ' . $expression;
     }
     // obtém transação ativa
     if ($conn = Transaction::get()) {
         // registra mensagem de log
         Transaction::log($sql);
         // executa instrução de SELECT
         $result = $conn->query($sql);
         if ($result) {
             $row = $result->fetch();
         }
         // retorna o resultado
         return $row[0];
     } else {
         // se não tiver transação, retorna uma exceção
         throw new Exception('Não há transação ativa!!');
     }
 }