GroupedSelection
class GroupedSelection extends Selection
Representation of filtered table grouped by some column.
GroupedSelection is based on the great library NotORM http://www.notorm.com written by Jakub Vrana.
Properties
protected | $refTable | referenced table |
|
protected | $refCacheCurrent | current assigned referencing array |
|
protected | $column | grouping column name |
|
protected | $active | primary key |
Methods
Creates filtered and grouped table representation.
Sets active group.
Executes aggregation function.
Counts number of rows. If column is not provided returns count of result rows, otherwise runs new sql counting query.
No description
Returns Selection parent for caching.
Loads refCache references
No description
Inserts row in a table. Returns ActiveRow or number of affected rows for Selection or table without primary key.
Updates all rows in result set.
Deletes all rows in result set.
Details
at line 39
__construct(Explorer $explorer, Conventions $conventions, string $tableName, string $column, Selection $refTable, Storage|null $cacheStorage = null, EntityMapper|null $mapper = null)
Creates filtered and grouped table representation.
at line 59
GroupedSelection
setActive(int|string $active)
internal |
Sets active group.
at line 66
Selection
select(string $columns, ...$params)
Adds select clause, more calls appends to the end.
at line 76
Selection
order(string $columns, ...$params)
Adds order clause, more calls appends to the end.
at line 90
mixed
aggregation(string $function, string|null $groupFunction = null)
Executes aggregation function.
at line 127
int
count(string|null $column = null)
Counts number of rows. If column is not provided returns count of result rows, otherwise runs new sql counting query.
at line 136
protected void
execute()
No description
at line 196
protected Selection
getRefTable($refPath)
Returns Selection parent for caching.
at line 209
protected void
loadRefCache()
Loads refCache references
at line 225
protected void
emptyResultSet(bool $clearCache = true, bool $deleteReferencedCache = true)
No description
at line 234
ActiveRow|array|int|bool
insert(iterable $data)
Inserts row in a table. Returns ActiveRow or number of affected rows for Selection or table without primary key.
at line 252
int
update(iterable $data)
Updates all rows in result set.
Joins in UPDATE are supported only in MySQL
at line 265
int
delete()
Deletes all rows in result set.