class Selection extends Object implements Iterator, IRowContainer, ArrayAccess, Countable

Filtered table representation.

Selection is based on the great library NotORM http://www.notorm.com written by Jakub Vrana.

Properties

protected Connection $connection
protected IReflection $reflection
protected Cache $cache
protected SqlBuilder $sqlBuilder
protected string $name
protected string $primary
protected string|bool $primarySequence
protected IRow[] $rows
protected IRow[] $data
protected bool $dataRefreshed
protected mixed $globalRefCache
protected mixed $refCache
protected string $generalCacheKey
protected string $specificCacheKey
protected array $aggregation
protected array $accessedColumns
protected array $previousAccessedColumns
protected bool $observeCache
protected array $keys
string read-only $sql

Methods

__construct(Connection $connection, $table, IReflection $reflection, IStorage $cacheStorage = NULL)

Creates filtered table representation.

__destruct()

No description

__clone()

No description

getConnection()

No description

string
getName()

No description

string|array
getPrimary($need = TRUE)

No description

string
getPrimarySequence()

No description

setPrimarySequence($sequence)

No description

string
getSql()

No description

array|false
getPreviousAccessedColumns()

Loads cache of previous accessed columns and returns it.

getSqlBuilder()

No description

get($key)

Returns row specified by primary key.

IRow|bool
fetch()

No description

array
fetchPairs($key = NULL, $value = NULL)

No description

IRow[]
fetchAll()

No description

select($columns)

Adds select clause, more calls appends to the end.

wherePrimary($key)

Adds condition for primary key.

where($condition, $parameters = array())

Adds where condition, more calls appends with AND.

order($columns)

Adds order clause, more calls appends to the end.

limit($limit, $offset = NULL)

Sets limit clause, more calls rewrite old values.

page($page, $itemsPerPage, $numOfPages = NULL)

Sets offset using page number, more calls rewrite old values.

group($columns)

Sets group clause, more calls rewrite old value.

having($having)

Sets having clause, more calls rewrite old value.

string
aggregation($function)

Executes aggregation function.

int
count($column = NULL)

Counts number of rows.

int
min($column)

Returns minimum value from a column.

int
max($column)

Returns maximum value from a column.

int
sum($column)

Returns sum of values in a column.

execute()

No description

createRow(array $row)

No description

createSelectionInstance($table = NULL)

No description

createGroupedSelectionInstance($table, $column)

No description

query($query)

No description

emptyResultSet($saveCache = TRUE)

No description

saveCacheState()

No description

getRefTable($refPath)

Returns Selection parent for caching.

loadRefCache()

Loads refCache references

string
getGeneralCacheKey()

Returns general cache key independent on query parameters or sql limit Used e.g. for previously accessed columns caching

string
getSpecificCacheKey()

Returns object specific cache key dependent on query parameters Used e.g. for reference memory caching

accessColumn($key, $selectColumn = TRUE)

No description

removeAccessColumn($key)

No description

bool
getDataRefreshed()

Returns if selection requeried for more columns.

IRow|int|bool
insert($data)

Inserts row in a table.

int
update($data)

Updates all rows in result set.

int
delete()

Deletes all rows in result set.

getReferencedTable($table, $column, $checkPrimaryKey)

Returns referenced row.

getReferencingTable($table, $column, $active = NULL)

Returns referencing rows.

rewind()

No description

current()

No description

string
key()

No description

next()

No description

valid()

No description

null
offsetSet($key, $value)

Mimic row.

offsetGet($key)

Returns specified row.

bool
offsetExists($key)

Tests if row exists.

null
offsetUnset($key)

Removes row from result set.

Details

at line 88
__construct(Connection $connection, $table, IReflection $reflection, IStorage $cacheStorage = NULL)

Creates filtered table representation.

Parameters

Connection $connection
$table
IReflection $reflection
IStorage $cacheStorage

at line 100
__destruct()

No description

at line 106
__clone()

No description

at line 115
Connection getConnection()

No description

Return Value

Connection

at line 124
IReflection getDatabaseReflection()

No description

Return Value

IReflection

at line 133
string getName()

No description

Return Value

string

at line 143
string|array getPrimary($need = TRUE)

No description

Parameters

$need

Return Value

string|array

at line 155
string getPrimarySequence()

No description

Return Value

string

at line 178
Selection setPrimarySequence($sequence)

No description

Parameters

$sequence

Return Value

Selection

at line 188
string getSql()

No description

Return Value

string

at line 199
array|false getPreviousAccessedColumns()

internal  
 

Loads cache of previous accessed columns and returns it.

Return Value

array|false

at line 216
SqlBuilder getSqlBuilder()

internal  
 

No description

Return Value

SqlBuilder

at line 230
IRow get($key)

Returns row specified by primary key.

Parameters

$key

Return Value

IRow

or FALSE if there is no such row

at line 240
IRow|bool fetch()

No description

Return Value

IRow|bool

at line 252
array fetchPairs($key = NULL, $value = NULL)

No description

Parameters

$key
$value

Return Value

array

at line 261
IRow[] fetchAll()

No description

Return Value

IRow[]

at line 275
Selection select($columns)

Adds select clause, more calls appends to the end.

Parameters

$columns

Return Value

Selection

at line 288
Selection wherePrimary($key)

Adds condition for primary key.

Parameters

$key

Return Value

Selection

at line 315
Selection where($condition, $parameters = array())

Adds where condition, more calls appends with AND.

Parameters

$condition
$parameters

Return Value

Selection

at line 339
Selection order($columns)

Adds order clause, more calls appends to the end.

Parameters

$columns

Return Value

Selection

at line 353
Selection limit($limit, $offset = NULL)

Sets limit clause, more calls rewrite old values.

Parameters

$limit
$offset

Return Value

Selection

at line 367
Selection page($page, $itemsPerPage, $numOfPages = NULL)

Sets offset using page number, more calls rewrite old values.

Parameters

$page
$itemsPerPage
$numOfPages

Return Value

Selection

at line 381
Selection group($columns)

Sets group clause, more calls rewrite old value.

Parameters

$columns

Return Value

Selection

at line 394
Selection having($having)

Sets having clause, more calls rewrite old value.

Parameters

$having

Return Value

Selection

at line 410
string aggregation($function)

Executes aggregation function.

Parameters

$function

Return Value

string

at line 426
int count($column = NULL)

Counts number of rows.

Parameters

$column

Return Value

int

at line 441
int min($column)

Returns minimum value from a column.

Parameters

$column

Return Value

int

at line 452
int max($column)

Returns maximum value from a column.

Parameters

$column

Return Value

int

at line 463
int sum($column)

Returns sum of values in a column.

Parameters

$column

Return Value

int

at line 472
protected execute()

No description

at line 515
protected createRow(array $row)

No description

Parameters

array $row

at line 521
createSelectionInstance($table = NULL)

No description

Parameters

$table

at line 527
protected createGroupedSelectionInstance($table, $column)

No description

Parameters

$table
$column

at line 533
protected query($query)

No description

Parameters

$query

at line 539
protected emptyResultSet($saveCache = TRUE)

No description

Parameters

$saveCache

at line 552
protected saveCacheState()

No description

at line 574
protected Selection getRefTable($refPath)

Returns Selection parent for caching.

Parameters

$refPath

Return Value

Selection

at line 583
protected loadRefCache()

Loads refCache references

at line 593
protected string getGeneralCacheKey()

Returns general cache key independent on query parameters or sql limit Used e.g. for previously accessed columns caching

Return Value

string

at line 608
protected string getSpecificCacheKey()

Returns object specific cache key dependent on query parameters Used e.g. for reference memory caching

Return Value

string

at line 623
accessColumn($key, $selectColumn = TRUE)

internal  
 

No description

Parameters

$key
$selectColumn

at line 678
removeAccessColumn($key)

internal  
 

No description

Parameters

$key

at line 690
bool getDataRefreshed()

Returns if selection requeried for more columns.

Return Value

bool

at line 704
IRow|int|bool insert($data)

Inserts row in a table.

Parameters

$data

Return Value

IRow|int|bool

Returns IRow or number of affected rows for Selection or table without primary key

at line 767
int update($data)

Updates all rows in result set.

Joins in UPDATE are supported only in MySQL

Parameters

$data

Return Value

int

number of affected rows

at line 791
int delete()

Deletes all rows in result set.

Return Value

int

number of affected rows

at line 807
Selection getReferencedTable($table, $column, $checkPrimaryKey)

Returns referenced row.

Parameters

$table
$column
$checkPrimaryKey

Return Value

Selection

or array() if the row does not exist

at line 843
GroupedSelection getReferencingTable($table, $column, $active = NULL)

Returns referencing rows.

Parameters

$table
$column
$active

Return Value

GroupedSelection

at line 860
rewind()

No description

at line 869
IRow current()

No description

Return Value

IRow

at line 882
string key()

No description

Return Value

string

row ID

at line 888
next()

No description

at line 894
valid()

No description

at line 909
null offsetSet($key, $value)

Mimic row.

Parameters

$key
$value

Return Value

null

at line 921
IRow offsetGet($key)

Returns specified row.

Parameters

$key

Return Value

IRow

or NULL if there is no such row

at line 933
bool offsetExists($key)

Tests if row exists.

Parameters

$key

Return Value

bool

at line 945
null offsetUnset($key)

Removes row from result set.

Parameters

$key

Return Value

null