Joomla! Platform 12.1

Abstract Class JTable

Description

Abstract Table class

Parent class to all tables.

Located in /libraries/joomla/table/table.php (line 25)

Class JObject   (Subpackage Object)

Abstract class JTable   (Subpackage Table)
Direct descendents
Class Description
ClassJTableModule Module table
ClassJTableUser Users table
ClassJTableExtension Extension table Replaces plugins table
ClassJTableMenuType Menu Types table
ClassJTableSession Session table
ClassJTableLanguage Languages table.
ClassJTableUsergroup Usergroup table class.
ClassJTableUpdate Update table Stores updates temporarily
ClassJTableNested Table class supporting modified pre-order tree traversal behavior.
ClassJTableViewlevel Viewlevels table class.
Variable Summary
Method Summary
Static method static array addIncludePath ([mixed $path = null])
Static method static mixed getInstance (string $type, [string $prefix = 'JTable'], [array $config = array()])
Constructor JTable __construct (string $table, string $key, JDatabaseDriver $db)
Method boolean bind (mixed $src, [mixed $ignore = array()])
Method boolean check ()
Method boolean checkIn ([mixed $pk = null])
Method boolean checkOut (integer $userId, [mixed $pk = null])
Method boolean delete ([mixed $pk = null])
Method mixed getFields ()
Method string getKeyName ()
Method mixed getNextOrder ([string $where = ''])
Method string getTableName ()
Method boolean hit ([mixed $pk = null])
Method boolean isCheckedOut ([integer $with = 0], [integer $against = null])
Method boolean load ([mixed $keys = null], [boolean $reset = true])
Method mixed move (integer $delta, [string $where = ''])
Method boolean publish ([mixed $pks = null], [integer $state = 1], [integer $userId = 0])
Method mixed reorder ([string $where = ''])
Method void reset ()
Method boolean save (mixed $src, [string $orderingFilter = ''], [mixed $ignore = ''])
Method boolean setDBO (JDatabaseDriver $db)
Method void setRules (mixed $input)
Method boolean store ([boolean $updateNulls = false])
Method string _getAssetName ()
Method integer _getAssetParentId ([JTable $table = null], [integer $id = null])
Method string _getAssetTitle ()
Method boolean _lock ()
Method boolean _unlock ()
Variables
JDatabaseDriver $_db (line 57)

JDatabaseDriver object.

  • since: 11.1
  • access: protected
boolean $_locked = false (line 81)

Indicator that the tables have been locked.

  • since: 11.1
  • access: protected
JAccessRules $_rules (line 73)

The rules associated with this record.

  • var: A JAccessRules object.
  • since: 11.1
  • access: protected
string $_tbl = '' (line 41)

Name of the database table to model.

  • since: 11.1
  • access: protected
string $_tbl_key = '' (line 49)

Name of the primary key field in the table.

  • since: 11.1
  • access: protected
boolean $_trackAssets = false (line 65)

Should rows be tracked as ACL assets?

  • since: 11.1
  • access: protected

Inherited Variables

Inherited from JObject

Variable JObject::$_errors
Methods
Constructor __construct (line 94)

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.

  • since: 11.1
  • access: public
JTable __construct (string $table, string $key, JDatabaseDriver $db)
  • string $table: Name of the table to model.
  • string $key: Name of the primary key field in the table.
  • JDatabaseDriver $db: JDatabaseDriver object.

Redefinition of:
JObject::__construct()
Class constructor, overridden in descendant classes.

Redefined in descendants as:
addIncludePath (line 219)

Add a filesystem path where JTable should search for table class files.

You may either pass a string or an array of paths.

array addIncludePath ([mixed $path = null])
  • mixed $path: A filesystem path or array of filesystem paths to add.
bind (line 430)

Method to bind an associative array or object to the JTable instance.This method only binds properties that are publicly accessible and optionally takes an array of properties to ignore when binding.

boolean bind (mixed $src, [mixed $ignore = array()])
  • mixed $src: An associative array or object to bind to the JTable instance.
  • mixed $ignore: An optional array or space separated list of properties to ignore while binding.

Redefined in descendants as:
check (line 550)

Method to perform sanity checks on the JTable instance properties to ensure they are safe to store in the database. Child classes should override this method to make sure the data they are storing in the database is safe and as expected before storage.

boolean check ()

Redefined in descendants as:
checkIn (line 843)

Method to check a row in if the necessary properties/fields exist. Checking a row in will allow other users the ability to edit the row.

boolean checkIn ([mixed $pk = null])
  • mixed $pk: An optional primary key value to check out. If not set the instance property value is used.
checkOut (line 795)

Method to check a row out if the necessary properties/fields exist. To prevent race conditions while editing rows in a database, a row can be checked out if the fields 'checked_out' and 'checked_out_time' are available.

While a row is checked out, any attempt to store the row by a user other than the one who checked the row out should be held until the row is checked in again.

boolean checkOut (integer $userId, [mixed $pk = null])
  • integer $userId: The Id of the user checking out the row.
  • mixed $pk: An optional primary key value to check out. If not set the instance property value is used.
delete (line 730)

Method to delete a row from the database table by primary key value.

boolean delete ([mixed $pk = null])
  • mixed $pk: An optional primary key value to delete. If not set the instance property value is used.

Redefined in descendants as:
getDbo (line 338)

Method to get the JDatabaseDriver object.

JDatabaseDriver getDbo ()
getFields (line 136)

Get the columns from database table.

  • return: An array of the field names, or false if an error occurs.
  • since: 11.1
  • throws: UnexpectedValueException
  • access: public
mixed getFields ()
getInstance (line 170)

Static method to get an instance of a JTable class if it can be found in the table include paths. To add include paths for searching for JTable classes @see JTable::addIncludePath().

mixed getInstance (string $type, [string $prefix = 'JTable'], [array $config = array()])
  • string $type: The type (name) of the JTable class to get an instance of.
  • string $prefix: An optional prefix for the table class name.
  • array $config: An optional array of configuration values for the JTable object.
getKeyName (line 325)

Method to get the primary key field name for the table.

string getKeyName ()
getNextOrder (line 969)

Method to get the next ordering value for a group of rows defined by an SQL WHERE clause.

This is useful for placing a new item last in a group of items in the table.

mixed getNextOrder ([string $where = ''])
  • string $where: WHERE clause to use for selecting the MAX(ordering) for the table.
getRules (line 388)

Method to get the rules for the record.

  • return: object
  • since: 11.1
  • access: public
JAccessRules getRules ()
getTableName (line 312)

Method to get the database table name for the class.

string getTableName ()
hit (line 889)

Method to increment the hits for a row if the necessary property/field exists.

boolean hit ([mixed $pk = null])
  • mixed $pk: An optional primary key value to increment. If not set the instance property value is used.
isCheckedOut (line 936)

Method to determine if a row is checked out and therefore uneditable by a user. If the row is checked out by the same user, then it is considered not checked out -- as the user can still edit it.

boolean isCheckedOut (integer $with, [integer $against = null])
  • integer $with: The userid to preform the match with, if an item is checked out by this user the function will return false.
  • integer $against: The userid to perform the match against when the function is used as a static function.
load (line 481)

Method to load a row from the database by primary key and bind the fields to the JTable instance properties.

  • return: True if successful. False if row not found.
  • link: http://docs.joomla.org/JTable/load
  • throws: RuntimeException
  • throws: UnexpectedValueException
  • since: 11.1
  • access: public
boolean load ([mixed $keys = null], [boolean $reset = true])
  • mixed $keys: An optional primary key value to load the row by, or an array of fields to match. If not set the instance property value is used.
  • boolean $reset: True to reset the default values before loading the new row.

Redefined in descendants as:
  • JTableUser::load() : Method to load a user, user groups, and any other necessary data from the database so that it can be bound to the user object.
move (line 1069)

Method to move a row in the ordering sequence of a group of rows defined by an SQL WHERE clause.

Negative numbers move the row up in the sequence and positive numbers move it down.

mixed move (integer $delta, [string $where = ''])
  • integer $delta: The direction and magnitude to move the row in the ordering sequence.
  • string $where: WHERE clause to use for limiting the selection of rows to compact the ordering values.

Redefined in descendants as:
  • JTableNested::move() : Method to move a row in the ordering sequence of a group of rows defined by an SQL WHERE clause.
publish (line 1165)

Method to set the publishing state for a row or list of rows in the database table. The method respects checked out rows by other users and will attempt to checkin rows that it can after adjustments are made.

boolean publish ([mixed $pks = null], [integer $state = 1], integer $userId)
  • mixed $pks: An optional array of primary key values to update. If not set the instance property value is used.
  • integer $state: The publishing state. eg. [0 = unpublished, 1 = published]
  • integer $userId: The user id of the user performing the operation.

Redefined in descendants as:
  • JTableExtension::publish() : Method to set the publishing state for a row or list of rows in the database table. The method respects checked out rows by other users and will attempt to checkin rows that it can after adjustments are made.
  • JTableNested::publish() : Method to set the publishing state for a node or list of nodes in the database
reorder (line 1005)

Method to compact the ordering values of rows in a group of rows defined by an SQL WHERE clause.

mixed reorder ([string $where = ''])
  • string $where: WHERE clause to use for limiting the selection of rows to compact the ordering values.
reset (line 403)

Method to reset class properties to the defaults set in the class definition. It will ignore the primary key as well as any private class properties.

void reset ()
save (line 680)

Method to provide a shortcut to binding, checking and storing a JTable

instance to the database table. The method will check a row in once the data has been stored and if an ordering filter is present will attempt to reorder the table rows based on the filter. The ordering filter is an instance property name. The rows that will be reordered are those whose value matches the JTable instance for the property specified.

boolean save (mixed $src, [string $orderingFilter = ''], [mixed $ignore = ''])
  • mixed $src: An associative array or object to bind to the JTable instance.
  • string $orderingFilter: Filter for the order updating
  • mixed $ignore: An optional array or space separated list of properties to ignore while binding.
setDBO (line 353)

Method to set the JDatabaseDriver object.

boolean setDBO (JDatabaseDriver $db)
  • JDatabaseDriver $db: A JDatabaseDriver object to be used by the table object.
setRules (line 369)

Method to set rules for the record.

  • since: 11.1
  • access: public
void setRules (mixed $input)
  • mixed $input: A JAccessRules object, JSON string, or array.
store (line 569)

Method to store a row in the database from the JTable instance properties.

If a primary key value is set the row with that primary key value will be updated with the instance property values. If no primary key value is set a new row will be inserted into the database with the properties from the JTable instance.

boolean store ([boolean $updateNulls = false])
  • boolean $updateNulls: True to update fields even if they are null.

Redefined in descendants as:
_getAssetName (line 256)

Method to compute the default name of the asset.

The default name is in the form table_name.id where id is the value of the primary key of the table.

  • since: 11.1
  • access: protected
string _getAssetName ()

Redefined in descendants as:
_getAssetParentId (line 292)

Method to get the parent asset under which to register this one.

By default, all assets are registered to the ROOT node with ID 1. The extended class can define a table and id to lookup. If the asset does not exist it will be created.

  • since: 11.1
  • access: protected
integer _getAssetParentId ([JTable $table = null], [integer $id = null])
  • JTable $table: A JTable object for the asset parent.
  • integer $id: Id to look up

Redefined in descendants as:
_getAssetTitle (line 274)

Method to return the title to use for the asset table. In

tracking the assets a title is kept for each asset so that there is some context available in a unified access manager. Usually this would just return $this->title or $this->name or whatever is being used for the primary name of the row. If this method is not overridden, the asset name is used.

string _getAssetTitle ()

Redefined in descendants as:
_lock (line 1239)

Method to lock the database table for writing.

  • return: True on success.
  • since: 11.1
  • throws: RuntimeException
  • access: protected
boolean _lock ()
_unlock (line 1254)

Method to unlock the database table for writing.

  • return: True on success.
  • since: 11.1
  • access: protected
boolean _unlock ()

Inherited Methods

Inherited From JObject

 JObject::__construct()
 JObject::def()
 JObject::get()
 JObject::getError()
 JObject::getErrors()
 JObject::getProperties()
 JObject::set()
 JObject::setError()
 JObject::setProperties()
 JObject::__toString()
/html>