Piwik\DataTable\
This is what a DataTable is composed of.
DataTable rows contain columns, metadata and a subtable ID. Columns and metadata are stored as an array of name => value mappings.
This class defines the following properties:
$maxVisitsSummed$subtableIdThe class defines the following methods:
__construct() — Constructor.__toString() — Applies a basic rendering to the Row and returns the output.deleteColumn() — Deletes the given column.renameColumn() — Renames a column.getColumn() — Returns a column by name.getMetadata() — Returns the array of all metadata, or one requested metadata value.hasColumn() — Returns true if a column having the given name is already registered.getColumns() — Returns the array containing all the columns.getIdSubDataTable() — Returns the ID of the subDataTable.getSubtable() — Returns the associated subtable, if one exists.sumSubtable() — Sums a DataTable to this row's subtable.setSubtable() — Attaches a subtable to this row, overwriting the existing subtable, if any.isSubtableLoaded() — Returns true if the subtable is currently loaded in memory via Piwik\DataTable\Manager.removeSubtable() — Removes the subtable reference.setColumns() — Set all the columns at once.setColumn() — Set the value $value to the column called $name.setMetadata() — Set the value $value to the metadata called $name.setAllMetadata() — Sets all metadata at once.deleteMetadata() — Deletes one metadata value or all metadata values.addColumn() — Add a new column to the row.addColumns() — Add many columns to this row.addMetadata() — Add a new metadata to the row.sumRow() — Sums the given $rowToSum columns values to the existing row column values.sumRowMetadata() — Sums the metadata in $rowToSum with the metadata in $this row.isSummaryRow() — Returns true if this row was added to a datatable as the summary row, false if otherwise.setIsSummaryRow()getComparisons() — Returns the associated comparisons DataTable, if any.setComparisons() — Associates the supplied table with this row as the comparisons table.isEqual() — Helper function that tests if two rows are equal.sumRowWithLabelToSubtable()__construct()Constructor.
$row (array) —
An array with the following structure: array( Row::COLUMNS => array('label' => 'Matomo', 'column1' => 42, 'visits' => 657, 'time_spent' => 155744), Row::METADATA => array('logo' => 'test.png'), Row::DATATABLE_ASSOCIATED => $subtable // DataTable object // (but in the row only the ID will be stored) )__toString()Applies a basic rendering to the Row and returns the output.
string —
describing the row. Example:
"- 1 ['label' => 'piwik', 'nb_uniq_visitors' => 1685, 'nb_visits' => 1861] [] [idsubtable = 1375]"deleteColumn()Deletes the given column.
It accepts the following parameter(s):
$name (string) —
The column name.Returns: bool —
true on success, false if the column does not exist.
renameColumn()Renames a column.
$oldName (string) —
The current name of the column.$newName (string) —
The new name of the column.getColumn()Returns a column by name.
It accepts the following parameter(s):
$name (string|int) —
The column name.Returns: mixed|false —
The column value or false if it doesn't exist.
getMetadata()Returns the array of all metadata, or one requested metadata value.
$name (string|null) —
The name of the metadata to return or null to return all metadata.mixed value.hasColumn()Returns true if a column having the given name is already registered. The value will not be evaluated, it will just check whether a column exists independent of its value.
It accepts the following parameter(s):
$name (string) —It returns a bool value.
getColumns()Returns the array containing all the columns.
Returns: array —
Example:
array(
'column1' => VALUE,
'label' => 'www.php.net'
'nb_visits' => 15894,
)
getIdSubDataTable()Returns the ID of the subDataTable.
If there is no such a table, returns null.
int|null —getSubtable()Returns the associated subtable, if one exists. Returns false if none exists.
DataTable|bool —sumSubtable()Sums a DataTable to this row's subtable. If this row has no subtable a new one is created.
See DataTable::addDataTable() to learn how DataTables are summed.
$subTable (DataTable) —
Table to sum to this row's subtable.setSubtable()Attaches a subtable to this row, overwriting the existing subtable, if any.
It accepts the following parameter(s):
$subTable (DataTable) —
DataTable to associate to this row.Returns: DataTable —
Returns $subTable.
isSubtableLoaded()Returns true if the subtable is currently loaded in memory via Piwik\DataTable\Manager.
bool value.removeSubtable()Removes the subtable reference.
setColumns()Set all the columns at once. Overwrites all previously set columns.
$columns (array) —
eg, array('label' => 'www.php.net', 'nb_visits' => 15894)setColumn()Set the value $value to the column called $name.
$name (string) —
name of the column to set.$value (mixed) —
value of the column to set.setMetadata()Set the value $value to the metadata called $name.
$name (string) —
name of the metadata to set.$value (mixed) —
value of the metadata to set.setAllMetadata()Sets all metadata at once.
$metadata (array) —
new metadata to setdeleteMetadata()Deletes one metadata value or all metadata values.
It accepts the following parameter(s):
$name (bool|string) —
Metadata name (omit to delete entire metadata).Returns: bool —
true on success, false if the column didn't exist
addColumn()Add a new column to the row. If the column already exists, throws an exception.
$name (string) —
name of the column to add.$value (mixed) —
value of the column to set or a PHP callable.Exception — if the column already exists.addColumns()Add many columns to this row.
$columns (array) —
Name/Value pairs, e.g., array('name' => $value , ...)void value.Exception — if any column name does not exist.addMetadata()Add a new metadata to the row. If the metadata already exists, throws an exception.
$name (string) —
name of the metadata to add.$value (mixed) —
value of the metadata to set.Exception — if the metadata already exists.sumRow()Sums the given $rowToSum columns values to the existing row column values.
Only the int or float values will be summed. Label columns will be ignored even if they have a numeric value.
Columns in $rowToSum that don't exist in $this are added to $this.
$rowToSum (Row) —
The row to sum to this row.$enableCopyMetadata (bool) —
Whether metadata should be copied or not.$aggregationOperations (array|bool) —
for columns that should not be summed, determine which aggregation should be used (min, max). format: array('column name' => 'function name')sumRowMetadata()Sums the metadata in $rowToSum with the metadata in $this row.
It accepts the following parameter(s):
$rowToSum (Row) —
$aggregationOperations (array) —
It does not return anything or a mixed result.
isSummaryRow()Returns true if this row was added to a datatable as the summary row, false if otherwise.
bool value.setIsSummaryRow()getComparisons()Returns the associated comparisons DataTable, if any.
DataTable|null —setComparisons()Associates the supplied table with this row as the comparisons table.
It accepts the following parameter(s):
$table (DataTable) —It does not return anything or a mixed result.
isEqual()Helper function that tests if two rows are equal.
Two rows are equal if:
Column order is not important.
bool value.sumRowWithLabelToSubtable()It accepts the following parameter(s):
$label (string) —
$columns (array) —
$aggregationOps (array|null) —
It returns a Row value.