Selection
class Selection 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 Context | $context | ||
protected IConventions | $conventions | ||
protected Cache | $cache | ||
protected SqlBuilder | $sqlBuilder | ||
protected string | $name | ||
protected string|string[]|null | $primary | ||
protected string|bool | $primarySequence | ||
protected IRow[] | $rows | ||
protected IRow[] | $data | ||
protected bool | $dataRefreshed | ||
protected mixed | $globalRefCache | ||
protected mixed | $refCache | ||
protected string|null | $generalCacheKey | ||
protected string|null | $specificCacheKey | ||
protected array | $aggregation | ||
protected array|false|null | $accessedColumns | ||
protected array|false|null | $previousAccessedColumns | ||
protected Selection|null | $observeCache | ||
protected array | $keys |
Methods
Creates filtered table representation.
No description
No description
No description
No description
No description
No description
No description
Loads cache of previous accessed columns and returns it.
No description
Returns row specified by primary key.
Fetches single row object.
Fetches all rows as associative array.
Fetches all rows.
Fetches all rows and returns associative tree.
Adds select clause, more calls appends to the end.
Adds condition for primary key.
Adds where condition, more calls appends with AND.
Adds ON condition when joining specified table, more calls appends with AND.
Adds condition, more calls appends with AND.
Sets limit clause, more calls rewrite old values.
Sets offset using page number, more calls rewrite old values.
Aliases table. Example ':book:book_tag.tag', 'tg'
Executes aggregation function.
Counts number of rows.
Returns minimum value from a column.
Returns maximum value from a column.
Returns sum of values in a column.
No description
No description
No description
No description
No description
Returns Selection parent for caching.
Loads refCache references
Returns general cache key independent on query parameters or sql limit Used e.g. for previously accessed columns caching
Returns object specific cache key dependent on query parameters Used e.g. for reference memory caching
No description
No description
Returns if selection requeried for more columns.
Updates all rows in result set.
Deletes all rows in result set.
Returns referenced row.
Returns referencing rows.
No description
No description
No description
No description
Returns specified row.
Tests if row exists.
Removes row from result set.
Details
at line 86
__construct(Context $context, IConventions $conventions, string $tableName, IStorage $cacheStorage = null)
Creates filtered table representation.
at line 105
__destruct()
No description
at line 111
__clone()
No description
at line 117
string
getName()
No description
at line 126
string|string[]|null
getPrimary(bool $throw = true)
No description
at line 135
string|null
getPrimarySequence()
No description
at line 148
Selection
setPrimarySequence(string $sequence)
No description
at line 155
string
getSql()
No description
at line 166
array|bool
getPreviousAccessedColumns()
internal |
Loads cache of previous accessed columns and returns it.
at line 182
SqlBuilder
getSqlBuilder()
internal |
No description
at line 195
ActiveRow|null
get(mixed $key)
Returns row specified by primary key.
at line 206
IRow|null
fetch()
Fetches single row object.
at line 220
mixed
fetchField(string $column = null)
deprecated
deprecated
Fetches single field.
at line 238
array
fetchPairs(string|int $key = null, string|int $value = null)
Fetches all rows as associative array.
at line 247
IRow[]
fetchAll()
Fetches all rows.
at line 256
array
fetchAssoc(string $path)
Fetches all rows and returns associative tree.
at line 271
Selection
select(string|string[] $columns, ...$params)
Adds select clause, more calls appends to the end.
at line 284
Selection
wherePrimary(mixed $key)
Adds condition for primary key.
at line 309
Selection
where(string|string[] $condition, ...$params)
Adds where condition, more calls appends with AND.
at line 322
Selection
joinWhere(string $tableChain, string $condition, ...$params)
Adds ON condition when joining specified table, more calls appends with AND.
at line 333
protected void
condition(string|string[] $condition, array $params, $tableChain = null)
Adds condition, more calls appends with AND.
at line 359
Selection
whereOr(array $parameters)
Adds where condition using the OR operator between parameters.
More calls appends with AND.
at line 391
Selection
order(string $columns, ...$params)
Adds order clause, more calls appends to the end.
at line 403
Selection
limit(int|null $limit, int $offset = null)
Sets limit clause, more calls rewrite old values.
at line 415
Selection
page(int $page, int $itemsPerPage, $numOfPages = null)
Sets offset using page number, more calls rewrite old values.
at line 431
Selection
group(string $columns, ...$params)
Sets group clause, more calls rewrite old value.
at line 443
Selection
having(string $having, ...$params)
Sets having clause, more calls rewrite old value.
at line 455
Selection
alias(string $tableChain, string $alias)
Aliases table. Example ':book:book_tag.tag', 'tg'
at line 470
mixed
aggregation(string $function)
Executes aggregation function.
at line 485
int
count(string $column = null)
Counts number of rows.
at line 499
mixed
min(string $column)
Returns minimum value from a column.
at line 509
mixed
max(string $column)
Returns maximum value from a column.
at line 519
mixed
sum(string $column)
Returns sum of values in a column.
at line 528
protected void
execute()
No description
at line 571
protected ActiveRow
createRow(array $row)
No description
at line 577
Selection
createSelectionInstance(string $table = null)
No description
at line 583
protected GroupedSelection
createGroupedSelectionInstance(string $table, string $column)
No description
at line 589
protected ResultSet
query(string $query)
No description
at line 595
protected void
emptyResultSet(bool $clearCache = true, bool $deleteRererencedCache = true)
No description
at line 617
protected void
saveCacheState()
No description
at line 646
protected Selection
getRefTable($refPath)
Returns Selection parent for caching.
at line 655
protected void
loadRefCache()
Loads refCache references
at line 664
protected string
getGeneralCacheKey()
Returns general cache key independent on query parameters or sql limit Used e.g. for previously accessed columns caching
at line 687
protected string
getSpecificCacheKey()
Returns object specific cache key dependent on query parameters Used e.g. for reference memory caching
at line 702
bool
accessColumn(string|null $key, bool $selectColumn = true)
internal |
No description
at line 767
void
removeAccessColumn(string $key)
internal |
No description
at line 778
bool
getDataRefreshed()
Returns if selection requeried for more columns.
at line 792
ActiveRow|int|bool
insert(iterable $data)
Inserts row in a table.
at line 872
int
update(iterable $data)
Updates all rows in result set.
Joins in UPDATE are supported only in MySQL
at line 896
int
delete()
Deletes all rows in result set.
at line 909
ActiveRow|false|null
getReferencedTable(ActiveRow $row, string|null $table, string $column = null)
Returns referenced row.
at line 955
GroupedSelection|null
getReferencingTable(string $table, string $column = null, int|string $active = null)
Returns referencing rows.
at line 982
void
rewind()
No description
at line 991
ActiveRow|false
current()
No description
at line 1002
string|int
key()
No description
at line 1008
void
next()
No description
at line 1016
bool
valid()
No description
at line 1030
void
offsetSet(string $key, IRow $value)
Mimic row.
at line 1041
ActiveRow|null
offsetGet(string $key)
Returns specified row.
at line 1052
bool
offsetExists(string $key)
Tests if row exists.
at line 1063
void
offsetUnset(string $key)
Removes row from result set.
Traits
Strict class for better experience.