API16

JTable/ construct: Difference between revisions

From Joomla! Documentation

Doxiki (talk | contribs)
New page: ===Description=== 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 databa...
 
Doxiki (talk | contribs)
No edit summary
Line 25: Line 25:
|  Name of the primary key field in the table.  
|  Name of the primary key field in the table.  
|-
|-
|  
| &$db
|  
|  
|  connector object.  
|  connector object.  

Revision as of 10:05, 30 March 2010

Description

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.

[Edit Descripton]

Template:Description:JTable/ construct

Syntax

__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

libraries/joomla/database/table.php

Importing

jimport( 'joomla.database.table' );

Source Body

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');
        }
}

[Edit See Also] Template:SeeAlso:JTable/ construct

Examples

<CodeExamplesForm />