class ResultCacheStatement implements IteratorAggregate, ResultStatement (View source)

Cache statement for SQL results.

A result is saved in multiple cache keys, there is the originally specified cache key which is just pointing to result rows by key. The following things have to be ensured:

  1. lifetime of the original key has to be longer than that of all the individual rows keys
  2. if any one row key is missing the query has to be re-executed.

Also you have to realize that the cache will load the whole result into memory at once to ensure 2. This means that the memory usage for cached results might increase by using this feature.

Methods

__construct(Statement $stmt, Cache $resultCache, string $cacheKey, string $realKey, int $lifetime)

No description

boolean
closeCursor()

Closes the cursor, enabling the statement to be executed again.

integer
columnCount()

columnCount Returns the number of columns in the result set

setFetchMode($fetchStyle, $arg2 = null, $arg3 = null)

setFetchMode Set the fetch mode to use while iterating this statement.

getIterator()

No description

mixed
fetch($fetchStyle = PDO::FETCH_BOTH)

fetch

array
fetchAll($fetchStyle = PDO::FETCH_BOTH)

Returns an array containing all of the result set rows

string
fetchColumn(integer $columnIndex = 0)

fetchColumn Returns a single column from the next row of a result set or FALSE if there are no more rows.

integer
rowCount()

rowCount rowCount() returns the number of rows affected by the last DELETE, INSERT, or UPDATE statement executed by the corresponding object.

Details

__construct(Statement $stmt, Cache $resultCache, string $cacheKey, string $realKey, int $lifetime)

Parameters

Statement $stmt
Cache $resultCache
string $cacheKey
string $realKey
int $lifetime

boolean closeCursor()

Closes the cursor, enabling the statement to be executed again.

Return Value

boolean Returns TRUE on success or FALSE on failure.

integer columnCount()

columnCount Returns the number of columns in the result set

Return Value

integer Returns the number of columns in the result set represented by the PDOStatement object. If there is no result set, this method should return 0.

setFetchMode($fetchStyle, $arg2 = null, $arg3 = null)

setFetchMode Set the fetch mode to use while iterating this statement.

Parameters

$fetchStyle
$arg2
$arg3

getIterator()

mixed fetch($fetchStyle = PDO::FETCH_BOTH)

fetch

Parameters

$fetchStyle

Return Value

mixed

See also

Query::HYDRATE_* constants

array fetchAll($fetchStyle = PDO::FETCH_BOTH)

Returns an array containing all of the result set rows

Parameters

$fetchStyle

Return Value

array

string fetchColumn(integer $columnIndex = 0)

fetchColumn Returns a single column from the next row of a result set or FALSE if there are no more rows.

Parameters

integer $columnIndex 0-indexed number of the column you wish to retrieve from the row. If no value is supplied, PDOStatement->fetchColumn() fetches the first column.

Return Value

string returns a single column in the next row of a result set.

integer rowCount()

rowCount rowCount() returns the number of rows affected by the last DELETE, INSERT, or UPDATE statement executed by the corresponding object.

If the last SQL statement executed by the associated Statement object was a SELECT statement, some databases may return the number of rows returned by that statement. However, this behaviour is not guaranteed for all databases and should not be relied on for portable applications.

Return Value

integer Returns the number of rows.