JTable

Extends \JObject

Abstract Table class

abstract

Parent class to all tables.

package

Joomla.Platform

subpackage

Table

link

http://docs.joomla.org/JTable

since

11.1

tutorial

Joomla.Platform/jtable.cls

Methods

__construct

Class constructor, overridden in descendant classes.

__construct(mixed $properties = null) 
inherited
since

11.1

Arguments

$properties

mixedEither and associative array or another object to set the initial properties of the object.

__toString

Magic method to convert the object to a string gracefully.

__toString() : string
inherited deprecated
since

11.1

deprecated

12.3 Classes should provide their own __toString() implementation.

Response

stringThe classname.

_getAssetName

Method to compute the default name of the asset.

_getAssetName() : string

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

Response

string

_getAssetParentId

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

_getAssetParentId(\JTable $table = null, integer $id = null) : integer

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

since

11.1

Arguments

$table

\JTableA JTable object for the asset parent.

$id

integerId to look up

Response

integer

_getAssetTitle

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.

_getAssetTitle() : string
link

http://docs.joomla.org/JTable/getAssetTitle

since

11.1

Response

stringThe string to use as the title in the asset table.

_lock

Method to lock the database table for writing.

_lock() : boolean
since

11.1

throws

\JDatabaseException

Response

booleanTrue on success.

_unlock

Method to unlock the database table for writing.

_unlock() : boolean
since

11.1

Response

booleanTrue on success.

addIncludePath

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

addIncludePath(mixed $path = null) : array
static

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

link

http://docs.joomla.org/JTable/addIncludePath

since

11.1

Arguments

$path

mixedA filesystem path or array of filesystem paths to add.

Response

arrayAn array of filesystem paths to find JTable classes in.

bind

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.

bind(mixed $src, mixed $ignore = array()) : boolean
link

http://docs.joomla.org/JTable/bind

since

11.1

Arguments

$src

mixedAn associative array or object to bind to the JTable instance.

$ignore

mixedAn optional array or space separated list of properties to ignore while binding.

Response

booleanTrue on success.

canDelete

Generic check for whether dependencies exist for this object in the database schema

canDelete(mixed $pk = null, array $joins = null) : boolean
deprecated

Can be overloaded/supplemented by the child class

deprecated

12.1

link

http://docs.joomla.org/JTable/canDelete

since

11.1

Arguments

$pk

mixedAn optional primary key value check the row for. If not set the instance property value is used.

$joins

arrayAn optional array to compiles standard joins formatted like: [label => 'Label', name => 'table name' , idfield => 'field', joinfield => 'field']

Response

booleanTrue on success.

check

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.

check() : boolean
link

http://docs.joomla.org/JTable/check

since

11.1

Response

booleanTrue if the instance is sane and able to be stored in the database.

checkIn

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.

checkIn(mixed $pk = null) : boolean
link

http://docs.joomla.org/JTable/checkIn

since

11.1

Arguments

$pk

mixedAn optional primary key value to check out. If not set the instance property value is used.

Response

booleanTrue on success.

checkOut

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.

checkOut(integer $userId, mixed $pk = null) : boolean

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.

link

http://docs.joomla.org/JTable/checkOut

since

11.1

Arguments

$userId

integerThe Id of the user checking out the row.

$pk

mixedAn optional primary key value to check out. If not set the instance property value is used.

Response

booleanTrue on success.

def

Sets a default value if not alreay assigned

def(string $property, mixed $default = null) : mixed
inherited
since

11.1

Arguments

$property

stringThe name of the property.

$default

mixedThe default value.

Response

mixed

delete

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

delete(mixed $pk = null) : boolean
link

http://docs.joomla.org/JTable/delete

since

11.1

Arguments

$pk

mixedAn optional primary key value to delete. If not set the instance property value is used.

Response

booleanTrue on success.

get

Returns a property of the object or the default value if the property is not set.

get(string $property, mixed $default = null) : mixed
inherited
since

11.1

see \JObject::getProperties()

Arguments

$property

stringThe name of the property.

$default

mixedThe default value.

Response

mixedThe value of the property.

getDbo

Method to get the JDatabase connector object.

getDbo() : \JDatabase
link

http://docs.joomla.org/JTable/getDBO

since

11.1

Response

\JDatabaseThe internal database connector object.

getError

Get the most recent error message.

getError(integer $i = null, boolean $toString = true) : string
inherited deprecated
since

11.1

see \JError
deprecated

12.3 JError has been deprecated

Arguments

$i

integerOption error index.

$toString

booleanIndicates if JError objects should return their error message.

Response

stringError message

getErrors

Return all errors, if any.

getErrors() : array
inherited deprecated
since

11.1

see \JError
deprecated

12.3 JError has been deprecated

Response

arrayArray of error messages or JErrors.

getFields

Get the columns from database table.

getFields() : mixed
since

11.1

Response

mixedAn array of the field names, or false if an error occurs.

getInstance

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().

getInstance(string $type, string $prefix = 'JTable', array $config = array()) : mixed
static
link

http://docs.joomla.org/JTable/getInstance

since

11.1

Arguments

$type

stringThe type (name) of the JTable class to get an instance of.

$prefix

stringAn optional prefix for the table class name.

$config

arrayAn optional array of configuration values for the JTable object.

Response

mixedA JTable object if found or boolean false if one could not be found.

getKeyName

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

getKeyName() : string
link

http://docs.joomla.org/JTable/getKeyName

since

11.1

Response

stringThe name of the primary key for the table.

getNextOrder

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

getNextOrder(string $where = '') : mixed

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

link

http://docs.joomla.org/JTable/getNextOrder

since

11.1

Arguments

$where

stringWHERE clause to use for selecting the MAX(ordering) for the table.

Response

mixedBoolean false an failure or the next ordering value as an integer.

getProperties

Returns an associative array of object properties.

getProperties(boolean $public = true) : array
inherited
since

11.1

see \JObject::get()

Arguments

$public

booleanIf true, returns only the public properties.

Response

array

getRules

Method to get the rules for the record.

getRules() : \JAccessRules
since

11.1

Response

\JAccessRulesobject

getTableName

Method to get the database table name for the class.

getTableName() : string
since

11.1

link

http://docs.joomla.org/JTable/getTableName

Response

stringThe name of the database table being modeled.

hit

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

hit(mixed $pk = null) : boolean
link

http://docs.joomla.org/JTable/hit

since

11.1

Arguments

$pk

mixedAn optional primary key value to increment. If not set the instance property value is used.

Response

booleanTrue on success.

isCheckedOut

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.

isCheckedOut(integer $with, integer $against = null) : boolean
link

http://docs.joomla.org/JTable/isCheckedOut

since

11.1

todo

This either needs to be static or not.

Arguments

$with

integerThe userid to preform the match with, if an item is checked out by this user the function will return false.

$against

integerThe userid to perform the match against when the function is used as a static function.

Response

booleanTrue if checked out.

load

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

load(mixed $keys = null, boolean $reset = true) : boolean
link

http://docs.joomla.org/JTable/load

since

11.1

Arguments

$keys

mixedAn 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.

$reset

booleanTrue to reset the default values before loading the new row.

Response

booleanTrue if successful. False if row not found or on error (internal error state set in that case).

move

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

move(integer $delta, string $where = '') : mixed

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

link

http://docs.joomla.org/JTable/move

since

11.1

Arguments

$delta

integerThe direction and magnitude to move the row in the ordering sequence.

$where

stringWHERE clause to use for limiting the selection of rows to compact the ordering values.

Response

mixedBoolean true on success.

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.

publish(mixed $pks = null, integer $state = 1, integer $userId) : boolean
link

http://docs.joomla.org/JTable/publish

since

11.1

Arguments

$pks

mixedAn optional array of primary key values to update. If not set the instance property value is used.

$state

integerThe publishing state. eg. [0 = unpublished, 1 = published]

$userId

integerThe user id of the user performing the operation.

Response

booleanTrue on success.

reorder

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

reorder(string $where = '') : mixed
link

http://docs.joomla.org/JTable/reorder

since

11.1

Arguments

$where

stringWHERE clause to use for limiting the selection of rows to compact the ordering values.

Response

mixedBoolean true on success.

reset

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.

reset() : void

save

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.

save(mixed $src, string $orderingFilter = '', mixed $ignore = '') : boolean
link

http://docs.joomla.org/JTable/save

since

11.1

Arguments

$src

mixedAn associative array or object to bind to the JTable instance.

$orderingFilter

stringFilter for the order updating

$ignore

mixedAn optional array or space separated list of properties to ignore while binding.

Response

booleanTrue on success.

set

Modifies a property of the object, creating it if it does not already exist.

set(string $property, mixed $value = null) : mixed
inherited
since

11.1

Arguments

$property

stringThe name of the property.

$value

mixedThe value of the property to set.

Response

mixedPrevious value of the property.

setDBO

Method to set the JDatabase connector object.

setDBO( &$db) : boolean
link

http://docs.joomla.org/JTable/setDBO

since

11.1

Arguments

$db

Response

booleanTrue on success.

setError

Add an error message.

setError(string $error) : void
inherited deprecated
since

11.1

see \JError
deprecated

12.3 JError has been deprecated

Arguments

$error

stringError message.

setProperties

Set the object properties based on a named array/hash.

setProperties(mixed $properties) : boolean
inherited
since

11.1

see \JObject::set()

Arguments

$properties

mixedEither an associative array or another object.

Response

boolean

setRules

Method to set rules for the record.

setRules(mixed $input) : void
since

11.1

Arguments

$input

mixedA JAccessRules object, JSON string, or array.

store

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

store(boolean $updateNulls = false) : boolean

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.

link

http://docs.joomla.org/JTable/store

since

11.1

Arguments

$updateNulls

booleanTrue to update fields even if they are null.

Response

booleanTrue on success.

toString

Converts the object to a string (the class name).

toString() : string
inherited deprecated
since

11.1

deprecated

12.1 Use magic method __toString()

see \JObject::__toString()

Response

string

toXML

Method to export the JTable instance properties to an XML string.

toXML(boolean $mapKeysToText = false) : string
deprecated
deprecated

12.1

link

http://docs.joomla.org/JTable/toXML

since

11.1

Arguments

$mapKeysToText

booleanTrue to map foreign keys to text values.

Response

stringXML string representation of the instance.

Properties

_tbl

Name of the database table to model.

since

11.1

Type(s)

string

_tbl_key

Name of the primary key field in the table.

since

11.1

Type(s)

string

_db

JDatabase connector object.

since

11.1

Type(s)

\JDatabase

_trackAssets

Should rows be tracked as ACL assets?

since

11.1

Type(s)

boolean

_rules

The rules associated with this record.

since

11.1

Type(s)

\JAccessRules

_locked

Indicator that the tables have been locked.

since

11.1

Type(s)

boolean

_errors

An array of error messages or Exception objects.

inherited deprecated
since

11.1

see \JError
deprecated

12.3 JError has been deprecated

Type(s)

array