public function __construct($entity = NULL) { $this->entity = $entity; $this->conn = Connection::get(); $this->setTypes(); $this->prepare(); }
/** * Retorna a transação ativa * @return PDO * @throws Exception */ protected function getConnection() { if ($conn = Connection::get()) { return $conn; } else { throw new PDOException('Não há transação ativa em ' . $this->getClass()); } }
/** * Carrega a configuração do banco de dados e abre uma conexão */ protected function database() { $array = (require Filesystem::getInstance()->getPath('root') . '/config/database.php'); Connection::open($array); }
/** * 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!!'); } }
private function isConnected() { if (!Connection::get()) { throw new RuntimeException('Há conexão com com banco de dados.'); } }