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!!'); } }
/** * 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!!'); } }