Table

Table schema

Returns madTable object, which contains the information of table schema. Many of Pages and Page methods are bridget to this class.

Arguments

$name
Table id or name

Example

Get Customer table:

$Table = $this->get('table', 'customer');
Object can be created through:
resource -method: get
Pages->getTable()
Page->getTable()
Field->getTable()
TableField->getTable()

Table information

Show customer table info

$Table = $this->get('table', 'customer');
$Header = $this->get('ui','header',Array(
  'icon'    => $Table->getIcon(),
  'title'   => $Table->getTitle(),
  'description' => $Table->getDescription()
)):

Table fields

List all fields in table

$List = $this->get('ui', 'list');
foreach ( $this->get('table', 'customer')->getFields() as $Field ){
    $List->addItem(Array(
        'icon'   => $Field->getIcon(),
        'title'  => $Field->getTitle(),
        'description' => $Field->getDescription()
    ));
}

CREATE SQL QUERY

Total number of products ordered in given date:

SELECT
    client.name as client,
    COUNT(order.nr) as orders,
    SUM(order_row.total) as total,
    order_sivu.otsikko as order_title
FROM
    {$Order->getTblClause()}
    {$Order->getTblJoinClause('client')}
    {$Order->getTblJoinClause('order_rows.product')}
    {$Order->getTblCacheJoinClause()}

WHERE
    order.date = '2021-12-15'
GROUP BY
    client.nr, product.nr

Full method list

Table information

Method Return type Description
getId() int Unique ID -number.
getName() string Technical name.
getTitle() string Visible name.
getIcon() string Icon name: icon.png.
getIconUrl() string Icon url.
getColor() string Table color.
getDescription() string Longer description.
getDocumentation() string Documentation text.
getPreferences() array Table preferences.
getPreference($name) mixed Table preference by given name.
getPrivilege() string Users table privilege.
isPrivilege($level) bool Return TRUE, if user has privilege of given level: read, add, write, edit.

Table information

Method Return type Description
refreshCache([$param]) this Update table cache information: title, thumbnail, keyword, deleted, style

Table decorators

Decorators are subclasses that add functionality to the table.

Method Return type Description
getDecorator(name) eTableDecorator Load table decorator object.

Table Sql

Helper functions to form SQL clauses to the table.

Method Return type Description
getTbl() string DB table name.
getUserTbl() string DB table name for user view.
getWhere() string SQL FROM -clause for this table
getLeftJoin($table) string SQL LEFT JOIN -clause to this table for given table.
getTblJoinClause($field[,$alias,$on]) string Return SQL join clause: LEFT JOIN fieldTable->targetTable. Alias default: table name.
getTblCacheJoinClause() string Return SQL join caluse: LEFT JOIN cache_table (page title, description, color, searchwords...)

Table fields

Method Return type Description
isField($name) bool Return TRUE, if table has given field.
getField($name) Field Return Field -object for given field.
getFieldByRole(name) Field[] Get Field that implements given role. (date..)
getFieldNames() array Get list of field names in table.
getReferenceFields() array[] Get list of fields that refer to this table.
getFields() Field[] Get Field objects
getFieldsByType(type[,type..]) Field[] Get Fields of given type.
getFieldsByUse(use) Field[] Get Fields that implement given use. (date, location..)
getEditableFields() Field[] Get Field objects oh fields that can be edited by user. (privilege, not fixed)

Data rows in table

These functions are used by Pages and Page, which is preferred way of fetching data. These functions, however, can be used to get raw data in more efficient manner.

Method Return type Description
getRow($id) array Get given row in table. (Raw data).
getRows($clause) array[] Get multiple rows in table.
getRowWhereField($where) array Get single row that matches given parameters.
getRowTitle($id) string Get title text for given row.
getRowIcon($id) string Get icon name for given row.
getRowStyle($id) string Get style name (color) for given row.
getValue($id,$field) string Get value of field in given row.
clear() - Clear all data from table.
$clause (array)
where[field]=value
order[field]=direction
limit=value
$where (array)
where -part of $clause

Page

Get Page -object from table:

Method Return type Description
getPage($id) Page Get given page in table.
newPage() Page Create new record to table.
findPage($values) Page Return page that matches given field=>value pair.
findUniquePage($values) Page Return page that matches given field=>value pair. If page is not found, set field values to the new object.
findPages($values) Pages Return pages that matches given field=>value pair.

Methods