API16

JTable/ construct

From Joomla! Documentation

< API16:JTable

The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Description[edit]

Object constructor to set table and key fields. In most cases this will be overridden by child classes to explicitly set the table and key fields for a particular database table.



Syntax[edit]

__construct($table, $key, &$db)
Parameter Name Default Value Description
$table Name of the table to model.
$key Name of the primary key field in the table.
&$db connector object.

Defined in[edit]

libraries/joomla/database/table.php

Importing[edit]

jimport( 'joomla.database.table' );

Source Body[edit]

function __construct($table, $key, &$db)
{
        // Set internal variables.
        $this->_tbl             = $table;
        $this->_tbl_key = $key;
        $this->_db              = &$db;

        // Initialise the table properties.
        if ($fields = $this->getFields()) {
                foreach ($fields as $name => $v) {
                        // Add the field if it is not already present.
                        if (!property_exists($this, $name)) {
                                $this->$name = $v->Default;
                        }
                }
        }

        // If we are tracking assets, make sure an access field exists and initially set the default.
        if (property_exists($this, 'asset_id')) {
                jimport('joomla.access.rules');
                $this->_trackAssets = true;
                // TODO: Do we need the following line anymore?
                //$this->access = (int) JFactory::getConfig()->getValue('access');
        }

        // If the acess property exists, set the default.
        if (property_exists($this, 'access'))
        {
                $this->access = (int) JFactory::getConfig()->getValue('access');
        }
}



Examples[edit]

Code Examples[edit]