public
|
#
__construct( string $table, mixed $key, JDatabaseDriver $db )
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.
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.
Parameters
- $table
string - $table Name of the table to model.
- $key
mixed - $key Name of the primary key field in the table or array of field names that
compose the primary key.
- $db
JDatabaseDriver - $db JDatabaseDriver object.
Since
11.1
Overrides
|
public
|
#
attachObserver( JObserverInterface $observer )
Implement JObservableInterface: Adds an observer to this instance. This
method will be called fron the constructor of classes implementing
JObserverInterface which is instanciated by the constructor of $this with
JObserverMapper::attachAllObservers($this)
Implement JObservableInterface: Adds an observer to this instance. This
method will be called fron the constructor of classes implementing
JObserverInterface which is instanciated by the constructor of $this with
JObserverMapper::attachAllObservers($this)
Parameters
Since
3.1.2
Implementation of
|
public
JTableObserver |null
|
#
getObserverOfClass( string $observerClass )
Gets the instance of the observer of class $observerClass
Gets the instance of the observer of class $observerClass
Parameters
- $observerClass
string - $observerClass The observer class-name to return the object of
Returns
Since
3.1.2
|
public
mixed
|
#
getFields( boolean $reload = false )
Get the columns from database table.
Get the columns from database table.
Parameters
- $reload
boolean - $reload flag to reload cache
Returns
mixed - An array of the field names, or false if an error occurs.
Throws
Since
11.1
|
public static
JTable |boolean
|
#
getInstance( string $type, string $prefix = 'JTable', array $config = array() )
Static method to get an instance of a JTable class if it can be found in the
table include paths.
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().
Parameters
- $type
string - $type The type (name) of the JTable class to get an instance of.
- $prefix
string - $prefix An optional prefix for the table class name.
- $config
array - $config An optional array of configuration values for the JTable object.
Returns
JTable |boolean
- A JTable object if found or boolean false on failure.
Since
11.1
|
public static
array
|
#
addIncludePath( array|string $path = null )
Add a filesystem path where JTable should search for table class files.
Add a filesystem path where JTable should search for table class files.
Parameters
- $path
array|string - $path A filesystem path or array of filesystem paths to add.
Returns
array - An array of filesystem paths to find JTable classes in.
Since
11.1
|
protected
string
|
#
_getAssetName( )
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.
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.
Returns
string
Since
11.1
|
protected
string
|
#
_getAssetTitle( )
Method to return the title to use for the asset table.
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.
Returns
string - The string to use as the title in the asset table.
Since
11.1
|
protected
integer
|
#
_getAssetParentId( JTable $table = null, integer $id = null )
Method to get the parent asset under which to register this one.
Method to get the parent asset under which to register this one.
By default, all assets are registered to the ROOT node with ID, which will
default to 1 if none exists. An extended class can define a table and ID to
lookup. If the asset does not exist it will be created.
Parameters
- $table
JTable - $table A JTable object for the asset parent.
- $id
integer - $id Id to look up
Returns
integer
Since
11.1
|
public
|
#
appendPrimaryKeys( JDatabaseQuery $query, mixed $pk = null )
Method to append the primary keys for this table to a query.
Method to append the primary keys for this table to a query.
Parameters
- $query
JDatabaseQuery - $query A query object to append.
- $pk
mixed - $pk Optional primary key parameter.
Since
12.3
|
public
string
|
#
getTableName( )
Method to get the database table name for the class.
Method to get the database table name for the class.
Returns
string - The name of the database table being modeled.
Since
11.1
|
public
mixed
|
#
getKeyName( boolean $multiple = false )
Method to get the primary key field name for the table.
Method to get the primary key field name for the table.
Parameters
- $multiple
boolean - $multiple True to return all primary keys (as an array) or false to return just
the first one (as a string).
Returns
mixed - Array of primary key field names or string containing the first primary key
field.
Since
11.1
|
public
JDatabaseDriver
|
#
getDbo( )
Method to get the JDatabaseDriver object.
Method to get the JDatabaseDriver object.
Returns
Since
11.1
|
public
boolean
|
#
setDbo( JDatabaseDriver $db )
Method to set the JDatabaseDriver object.
Method to set the JDatabaseDriver object.
Parameters
- $db
JDatabaseDriver - $db A JDatabaseDriver object to be used by the table object.
Returns
boolean - True on success.
Since
11.1
|
public
|
#
setRules( mixed $input )
Method to set rules for the record.
Method to set rules for the record.
Parameters
- $input
mixed - $input A JAccessRules object, JSON string, or array.
Since
11.1
|
public
JAccessRules
|
#
getRules( )
Method to get the rules for the record.
Method to get the rules for the record.
Returns
Since
11.1
|
public
|
#
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 (except
$_errors).
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 (except
$_errors).
Since
11.1
|
public
boolean
|
#
bind( array|object $src, array|string $ignore = array() )
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.
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.
Parameters
- $src
array|object - $src An associative array or object to bind to the JTable instance.
- $ignore
array|string - $ignore An optional array or space separated list of properties to ignore while
binding.
Returns
boolean - True on success.
Throws
Since
11.1
|
public
boolean
|
#
load( mixed $keys = null, boolean $reset = true )
Method to load a row from the database by primary key and bind the fields to
the JTable instance properties.
Method to load a row from the database by primary key and bind the fields to
the JTable instance properties.
Parameters
- $keys
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.
- $reset
boolean - $reset True to reset the default values before loading the new row.
Returns
boolean - True if successful. False if row not found.
Throws
Since
11.1
|
public
boolean
|
#
check( )
Method to perform sanity checks on the JTable instance properties to ensure
they are safe to store in the database.
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.
Returns
boolean - True if the instance is sane and able to be stored in the database.
Since
11.1
|
public
boolean
|
#
store( boolean $updateNulls = false )
Method to store a row in the database from the JTable instance
properties.
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.
Parameters
- $updateNulls
boolean - $updateNulls True to update fields even if they are null.
Returns
boolean - True on success.
Since
11.1
|
public
boolean
|
#
save( array|object $src, string $orderingFilter = '', array|string $ignore = '' )
Method to provide a shortcut to binding, checking and storing a JTable
instance to the database table.
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.
Parameters
- $src
array|object - $src An associative array or object to bind to the JTable instance.
- $orderingFilter
string - $orderingFilter Filter for the order updating
- $ignore
array|string - $ignore An optional array or space separated list of properties to ignore while
binding.
Returns
boolean - True on success.
Since
11.1
|
public
boolean
|
#
delete( mixed $pk = null )
Method to delete a row from the database table by primary key value.
Method to delete a row from the database table by primary key value.
Parameters
- $pk
mixed - $pk An optional primary key value to delete. If not set the instance property
value is used.
Returns
boolean - True on success.
Throws
Since
11.1
|
public
boolean
|
#
checkOut( integer $userId, mixed $pk = null )
Method to check a row out if the necessary properties/fields exist.
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.
Parameters
- $userId
integer - $userId The Id of the user checking out the row.
- $pk
mixed - $pk An optional primary key value to check out. If not set the instance property
value is used.
Returns
boolean - True on success.
Throws
Since
11.1
|
public
boolean
|
#
checkIn( mixed $pk = null )
Method to check a row in if the necessary properties/fields exist.
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.
Parameters
- $pk
mixed - $pk An optional primary key value to check out. If not set the instance property
value is used.
Returns
boolean - True on success.
Throws
Since
11.1
|
public
boolean
|
#
hasPrimaryKey( )
Validate that the primary key has been set.
Validate that the primary key has been set.
Returns
boolean - True if the primary key(s) have been set.
Since
12.3
|
public
boolean
|
#
hit( mixed $pk = null )
Method to increment the hits for a row if the necessary property/field
exists.
Method to increment the hits for a row if the necessary property/field
exists.
Parameters
- $pk
mixed - $pk An optional primary key value to increment. If not set the instance property
value is used.
Returns
boolean - True on success.
Throws
Since
11.1
|
public
boolean
|
#
isCheckedOut( integer $with = 0, integer $against = null )
Method to determine if a row is checked out and therefore uneditable by a
user.
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.
Parameters
- $with
integer - $with The user ID to preform the match with, if an item is checked out by this
user the function will return false.
- $against
integer - $against The user ID to perform the match against when the function is used as a
static function.
Returns
boolean - True if checked out.
Since
11.1
|
public
integer
|
#
getNextOrder( string $where = '' )
Method to get the next ordering value for a group of rows defined by an SQL
WHERE clause.
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.
Parameters
- $where
string - $where WHERE clause to use for selecting the MAX(ordering) for the table.
Returns
integer - The next ordering value.
Throws
Since
11.1
|
public
array
|
#
getPrimaryKey( array $keys = array() )
Get the primary key values for this table using passed in values as a
default.
Get the primary key values for this table using passed in values as a
default.
Parameters
- $keys
array - $keys Optional primary key values to use.
Returns
array - An array of primary key names and values.
Since
12.3
|
public
mixed
|
#
reorder( string $where = '' )
Method to compact the ordering values of rows in a group of rows defined by
an SQL WHERE clause.
Method to compact the ordering values of rows in a group of rows defined by
an SQL WHERE clause.
Parameters
- $where
string - $where WHERE clause to use for limiting the selection of rows to compact the
ordering values.
Returns
mixed - Boolean True on success.
Throws
Since
11.1
|
public
boolean
|
#
move( integer $delta, string $where = '' )
Method to move a row in the ordering sequence of a group of rows defined by
an SQL WHERE clause.
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.
Parameters
- $delta
integer - $delta The direction and magnitude to move the row in the ordering sequence.
- $where
string - $where WHERE clause to use for limiting the selection of rows to compact the
ordering values.
Returns
boolean - True on success.
Throws
Since
11.1
|
public
boolean
|
#
publish( mixed $pks = null, integer $state = 1, integer $userId = 0 )
Method to set the publishing state for a row or list of rows in the database
table.
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.
Parameters
- $pks
mixed - $pks An optional array of primary key values to update. If not set the instance
property value is used.
- $state
integer - $state The publishing state. eg. [0 = unpublished, 1 = published]
- $userId
integer - $userId The user ID of the user performing the operation.
Returns
boolean - True on success; false if $pks is empty.
Since
11.1
|
protected
boolean
|
#
_lock( )
Method to lock the database table for writing.
Method to lock the database table for writing.
Returns
boolean - True on success.
Throws
Since
11.1
|
public
string
|
#
getColumnAlias( string $column )
Method to return the real name of a "special" column such as ordering, hits,
published etc etc. In this way you are free to follow your db naming convention
and use the built in Joomla functions.
Method to return the real name of a "special" column such as ordering, hits,
published etc etc. In this way you are free to follow your db naming convention
and use the built in Joomla functions.
Parameters
- $column
string - $column Name of the "special" column (ie ordering, hits)
Returns
string - The string that identify the special
Since
3.4
|
public
|
#
setColumnAlias( string $column, string $columnAlias )
Method to register a column alias for a "special" column.
Method to register a column alias for a "special" column.
Parameters
- $column
string - $column The "special" column (ie ordering)
- $columnAlias
string - $columnAlias The real column name (ie foo_ordering)
Since
3.4
|
protected
boolean
|
#
_unlock( )
Method to unlock the database table for writing.
Method to unlock the database table for writing.
Returns
boolean - True on success.
Since
11.1
|