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!!'); } }
private function getLast() { if ($conn = Transaction::get()) { $sql = "SELECT max(id) FROM {$this->getEntity()}"; Transaction::log($sql); $result = $conn->query($sql); $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!!'); } }
/** * Retorna o último ID */ private function getLast() { // inicia transação if ($conn = Transaction::get()) { // instancia instrução de SELECT $sql = "SELECT max(id) FROM {$this->getEntity()}"; // cria log e executa instrução SQL Transaction::log($sql); $result = $conn->query($sql); // retorna os dados do banco $row = $result->fetch(); return $row[0]; } else { // se não tiver transação, retorna uma exceção throw new Exception('Não há transação ativa!!'); } }