Beispiel #1
0
 /**
  * Executa a instrução SQL, retornando um conjunto de resultados como um objeto PDOStatement
  * @param SQLExpression $criteria
  * @return \PDOStatement
  */
 private function preLoad(SQLExpression $criteria)
 {
     $sql = new SQLSelect();
     $sql->addColumn($this->getColumns());
     $sql->setEntity($this->getEntity());
     $sql->setCriteria($criteria);
     $conn = $this->getConnection();
     $this->statement = $sql->getStatement();
     return $conn->query($this->statement);
 }
Beispiel #2
0
 /**
  * método count()
  * 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(SQLExpression $criteria)
 {
     // instancia instrução de SELECT
     $sql = new SQLSelect();
     $sql->addColumn('count(*)');
     $sql->setEntity(constant($this->class . '::TABLENAME'));
     // atribui o critério passado como parâmetro
     $sql->setCriteria($criteria);
     $this->sql = $sql->getStatement();
     if ($conn = Connection::get()) {
         $row = array();
         $result = $conn->query($sql->getStatement());
         if ($result) {
             $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!!');
     }
 }