src/Connection/Connection.php
public function query ($query, $data = array(), $entity = null)
		{
			if ($this->cache->isCached($query)) {
				return $this->cache->getCachedResult($query);
			} else {
				try {
					$statement = $this->database->prepare((string) $query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
					$result = $statement->execute($data);
					$this->lastQuery = $statement->queryString;
					$this->lastStatement = $statement;

					if (! $result) {
						throw new DatabaseException(implode(': ', $statement->errorInfo()) . PHP_EOL . PHP_EOL . $query);
					}

				} catch (PDOException $e) {
					throw new DatabaseException($e->getMessage() . PHP_EOL . PHP_EOL . $query);
				}

				$databaseResult = $this->createResult($statement, $entity);

				if ($query instanceof DatabaseQuery && $databaseResult instanceof DatabaseResult) {
					$this->cache->cacheQuery($query, $databaseResult);
				}

				if ($query instanceof DatabaseQuery) {
					$this->cache->refreshCache($query);
				}

				if ($databaseResult instanceof DatabaseResult) {
					return $databaseResult;

				} else if ($query instanceof DatabaseQuery && $query->getType() == DatabaseQuery::QUERY_TYPE_INSERT) {
					return $this->insertId($query->getTable());

				} else {
					return $databaseResult;
				}
			}
		}
public function query ($query, $data = array(), $entity = null)
		{
			if ($this->cache->isCached($query)) {
				return $this->cache->getCachedResult($query);
			} else {
				try {
					$statement = $this->database->prepare((string) $query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
					$result = $statement->execute($data);
					$this->lastQuery = $statement->queryString;
					$this->lastStatement = $statement;

					if (! $result) {
						throw new DatabaseException(implode(': ', $statement->errorInfo()) . PHP_EOL . PHP_EOL . $query);
					}

				} catch (PDOException $e) {
					throw new DatabaseException($e->getMessage() . PHP_EOL . PHP_EOL . $query);
				}

				$databaseResult = $this->createResult($statement, $entity);

				if ($query instanceof DatabaseQuery && $databaseResult instanceof DatabaseResult) {
					$this->cache->cacheQuery($query, $databaseResult);
				}

				if ($query instanceof DatabaseQuery) {
					$this->cache->refreshCache($query);
				}

				if ($databaseResult instanceof DatabaseResult) {
					return $databaseResult;

				} else if ($query instanceof DatabaseQuery && $query->getType() == DatabaseQuery::QUERY_TYPE_INSERT) {
					return $this->insertId($query->getTable());

				} else {
					return $databaseResult;
				}
			}
		}
public function query ( $ query , $ data = array ( ) , $ entity = null ) { if ( $ this -> cache -> isCached ( $ query ) ) { return $ this -> cache -> getCachedResult ( $ query ) ; } else { try { $ statement = $ this -> database -> prepare ( ( string ) $ query , array ( PDO :: ATTR_CURSOR => PDO :: CURSOR_SCROLL ) ) ; $ result = $ statement -> execute ( $ data ) ; $ this -> lastQuery = $ statement -> queryString ; $ this -> lastStatement = $ statement ; if ( ! $ result ) { throw new DatabaseException ( implode ( ': ' , $ statement -> errorInfo ( ) ) . PHP_EOL . PHP_EOL . $ query ) ; } } catch ( PDOException $ e ) { throw new DatabaseException ( $ e -> getMessage ( ) . PHP_EOL . PHP_EOL . $ query ) ; } $ databaseResult = $ this -> createResult ( $ statement , $ entity ) ; if ( $ query instanceof DatabaseQuery && $ databaseResult instanceof DatabaseResult ) { $ this -> cache -> cacheQuery ( $ query , $ databaseResult ) ; } if ( $ query instanceof DatabaseQuery ) { $ this -> cache -> refreshCache ( $ query ) ; } if ( $ databaseResult instanceof DatabaseResult ) { return $ databaseResult ; } else if ( $ query instanceof DatabaseQuery && $ query -> getType ( ) == DatabaseQuery :: QUERY_TYPE_INSERT ) { return $ this -> insertId ( $ query -> getTable ( ) ) ; } else { return $ databaseResult ; } } }
query function.

@access public
@todo implement cache

@param string $query
@param array  $data (default: array())
@param string|callable $entity (default: null)

@return DatabaseResult
query function .