Abstract Class Zend_Db_Table_Abstract

Description

Class for SQL table interface.

  • copyright: Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  • abstract:
  • license: New BSD License

Located in /Db/Table/Abstract.php (line 47)


	
			
Direct descendents
Class Description
 class Zend_Db_Table Class for SQL table interface.
 class Zend_Session_SaveHandler_DbTable Zend_Session_SaveHandler_DbTable
 class Zend_Queue_Adapter_Db_Queue
 class Zend_Queue_Adapter_Db_Message
Class Constant Summary
 ADAPTER = 'db'
 CASCADE = 'cascade'
 COLS = 'cols'
 COLUMNS = 'columns'
 DEFAULT_CLASS = 'defaultClass'
 DEFAULT_DB = 'defaultDb'
 DEFAULT_NONE = 'defaultNone'
 DEFINITION = 'definition'
 DEFINITION_CONFIG_NAME = 'definitionConfigName'
 DEPENDENT_TABLES = 'dependentTables'
 METADATA = 'metadata'
 METADATA_CACHE = 'metadataCache'
 METADATA_CACHE_IN_CLASS = 'metadataCacheInClass'
 NAME = 'name'
 ON_DELETE = 'onDelete'
 ON_UPDATE = 'onUpdate'
 PRIMARY = 'primary'
 REFERENCE_MAP = 'referenceMap'
 REF_COLUMNS = 'refColumns'
 REF_TABLE_CLASS = 'refTableClass'
 RESTRICT = 'restrict'
 ROWSET_CLASS = 'rowsetClass'
 ROW_CLASS = 'rowClass'
 SCHEMA = 'schema'
 SEQUENCE = 'sequence'
 SET_NULL = 'setNull'
Variable Summary
Method Summary
 static void setDefaultAdapter ([mixed $db = null])
 static void setDefaultMetadataCache ([mixed $metadataCache = null])
 static Zend_Cache_Core _setupMetadataCache (mixed $metadataCache)
 Zend_Db_Table_Abstract addReference (string $ruleKey, string|array $columns, string $refTableClass, string|array $refColumns, [string $onDelete = null], [string $onUpdate = null])
 Zend_Db_Table_Row_Abstract createRow ([ $data = array()], [string $defaultSource = null])
 int delete (array|string $where)
 Zend_Db_Table_Rowset_Abstract fetchAll ([string|array|Zend_Db_Table_Select $where = null], [string|array $order = null], [int $count = null], [int $offset = null])
 Zend_Db_Table_Row_Abstract|null fetchRow ([string|array|Zend_Db_Table_Select $where = null], [string|array $order = null])
 unknown getDefaultSource ()
 array getReference (string $tableClassname, [string $ruleKey = null])
 string getRowClass ()
 string getRowsetClass ()
 mixed info ([$key $key = null])
 void init ()
 mixed insert ( $data)
 boolean isIdentity (string $column)
 Zend_Db_Table_Select select ([bool $withFromPart = self::SELECT_WITHOUT_FROM_PART])
 void __construct ([mixed $config = array()])
 Zend_Db_Table_Abstract setDefaultSource ([string $defaultSource = self::DEFAULT_NONE])
 Zend_Db_Table_Abstract setDefinitionConfigName ( $definitionConfigName, string $definition)
 Zend_Db_Table_Abstract setRowClass (string $classname)
 Zend_Db_Table_Abstract setRowsetClass (string $classname)
 int update ( $data, array|string $where)
 int _cascadeDelete (string $parentTableClassname,  $primaryKey)
 int _cascadeUpdate (string $parentTableClassname,  $oldPrimaryKey,  $newPrimaryKey)
 array _fetch (Zend_Db_Table_Select $select)
 array _getCols ()
 Zend_Db_Table_Select _order (Zend_Db_Table_Select $select, string|array $order)
 Zend_Db_Table_Abstract _setMetadataCache (mixed $metadataCache)
 Zend_Db_Table_Adapter_Abstract _setSequence (mixed $sequence)
 void _setup ()
 boolean _setupMetadata ()
 void _setupTableName ()
 Zend_Db_Table_Select _where (Zend_Db_Table_Select $select, string|array $where)
Variables
static Zend_Db_Adapter_Abstract $_defaultDb (line 88)

Default Zend_Db_Adapter_Abstract object.

  • access: protected
static Zend_Cache_Core $_defaultMetadataCache = null (line 109)

Default cache for information provided by the adapter's describeTable() method.

  • access: protected
array $_cols (line 137)

The table column names derived from Zend_Db_Adapter_Abstract::describeTable().

  • access: protected
Zend_Db_Adapter_Abstract $_db (line 116)

Zend_Db_Adapter_Abstract object.

  • access: protected
mixed $_defaultSource = self::DEFAULT_NONE (line 234)
  • access: protected
mixed $_defaultValues = array() (line 235)
  • access: protected
unknown_type $_definition = null (line 95)

Optional Zend_Db_Table_Definition object

  • access: protected
string $_definitionConfigName = null (line 102)

Optional definition config name used in concrete implementation

  • access: protected
array $_dependentTables = array() (line 231)

Simple array of class names of tables that are "children" of the current table, in other words tables that contain a foreign key to this one.

Array elements are not table names; they are class names of classes that extend Zend_Db_Table_Abstract.

  • access: protected
integer $_identity = 1 (line 159)

If your primary key is a compound key, and one of the columns uses an auto-increment or sequence-generated value, set _identity to the ordinal index in the $_primary array for that column.

Note this index is the position of the column in the primary key, not the position of the column in the table. The primary key array is 1-based.

  • access: protected
array $_metadata = array() (line 174)

Information provided by the adapter's describeTable() method.

  • access: protected
Zend_Cache_Core $_metadataCache = null (line 181)

Cache for information provided by the adapter's describeTable() method.

  • access: protected
bool $_metadataCacheInClass = true (line 187)

Flag: whether or not to cache metadata in the class

  • access: protected
string $_name = null (line 130)

The table name.

  • access: protected

Redefined in descendants as:
mixed $_primary = null (line 147)

The primary key column or columns.

A compound key should be declared as an array. You may declare a single-column primary key as a string.

  • access: protected

Redefined in descendants as:
array $_referenceMap = array() (line 221)

Associative array map of declarative referential integrity rules.

This array has one entry per foreign key in the current table. Each key is a mnemonic name for one reference rule.

Each value is also an associative array, with the following keys:

  • columns = array of names of column(s) in the child table.
  • refTableClass = class name of the parent table.
  • refColumns = array of names of column(s) in the parent table, in the same order as those in the 'columns' entry.
  • onDelete = "cascade" means that a delete in the parent table also causes a delete of referencing rows in the child table.
  • onUpdate = "cascade" means that an update of primary key values in the parent table also causes an update of referencing rows in the child table.

  • access: protected
string $_rowClass = 'Zend_Db_Table_Row' (line 194)

Classname for row

  • access: protected
string $_rowsetClass = 'Zend_Db_Table_Rowset' (line 201)

Classname for rowset

  • access: protected
array $_schema = null (line 123)

The schema name (default null means current schema)

  • access: protected
mixed $_sequence = true (line 167)

Define the logic for new values in the primary key.

May be a string, boolean true, or boolean false.

  • access: protected

Redefined in descendants as:
Methods
static getDefaultAdapter (line 570)

Gets the default Zend_Db_Adapter_Abstract for all Zend_Db_Table objects.

  • return: or null
  • access: public
static Zend_Db_Adapter_Abstract getDefaultAdapter ()
static getDefaultMetadataCache (line 634)

Gets the default metadata cache for information returned by Zend_Db_Adapter_Abstract::describeTable().

  • return: or null
  • access: public
static Zend_Cache_Core getDefaultMetadataCache ()
static setDefaultAdapter (line 560)

Sets the default Zend_Db_Adapter_Abstract for all Zend_Db_Table objects.

  • access: public
static void setDefaultAdapter ([mixed $db = null])
  • mixed $db: Either an Adapter object, or a string naming a Registry key
static setDefaultMetadataCache (line 624)

Sets the default metadata cache for information returned by Zend_Db_Adapter_Abstract::describeTable().

If $defaultMetadataCache is null, then no metadata cache is used by default.

  • access: public
static void setDefaultMetadataCache ([mixed $metadataCache = null])
  • mixed $metadataCache: Either a Cache object, or a string naming a Registry key
static _setupAdapter (line 600)
  • throws: Zend_Db_Table_Exception
  • access: protected
static Zend_Db_Adapter_Abstract _setupAdapter (mixed $db)
  • mixed $db: Either an Adapter object, or a string naming a Registry key
static _setupMetadataCache (line 695)
  • throws: Zend_Db_Table_Exception
  • access: protected
static Zend_Cache_Core _setupMetadataCache (mixed $metadataCache)
  • mixed $metadataCache: Either a Cache object, or a string naming a Registry key
addReference (line 423)

Add a reference to the reference map

  • access: public
Zend_Db_Table_Abstract addReference (string $ruleKey, string|array $columns, string $refTableClass, string|array $refColumns, [string $onDelete = null], [string $onUpdate = null])
  • string $ruleKey
  • string|array $columns
  • string $refTableClass
  • string|array $refColumns
  • string $onDelete
  • string $onUpdate
createRow (line 1406)

Fetches a new blank row (not from the database).

  • access: public
Zend_Db_Table_Row_Abstract createRow ([ $data = array()], [string $defaultSource = null])
  • array $data: OPTIONAL data to populate in the new row.
  • string $defaultSource: OPTIONAL flag to force default values into new row
delete (line 1158)

Deletes existing rows.

  • return: The number of rows deleted.
  • access: public
int delete (array|string $where)
  • array|string $where: SQL WHERE clause(s).
fetchAll (line 1300)

Fetches all rows.

Honors the Zend_Db_Adapter fetch mode.

  • return: The row results per the Zend_Db_Adapter fetch mode.
  • access: public
Zend_Db_Table_Rowset_Abstract fetchAll ([string|array|Zend_Db_Table_Select $where = null], [string|array $order = null], [int $count = null], [int $offset = null])
  • string|array|Zend_Db_Table_Select $where: OPTIONAL An SQL WHERE clause or Zend_Db_Table_Select object.
  • string|array $order: OPTIONAL An SQL ORDER clause.
  • int $count: OPTIONAL An SQL LIMIT count.
  • int $offset: OPTIONAL An SQL LIMIT offset.
fetchNew (line 1394)

Fetches a new blank row (not from the database).

  • deprecated: since 0.9.3 - use createRow() instead.
  • access: public
fetchRow (line 1348)

Fetches one row in an object of type Zend_Db_Table_Row_Abstract, or returns null if no row matches the specified criteria.

  • return: The row results per the Zend_Db_Adapter fetch mode, or null if no row found.
  • access: public
Zend_Db_Table_Row_Abstract|null fetchRow ([string|array|Zend_Db_Table_Select $where = null], [string|array $order = null])
  • string|array|Zend_Db_Table_Select $where: OPTIONAL An SQL WHERE clause or Zend_Db_Table_Select object.
  • string|array $order: OPTIONAL An SQL ORDER clause.
find (line 1217)

Fetches rows by primary key. The argument specifies one or more primary key value(s). To find multiple rows by primary key, the argument must be an array.

This method accepts a variable number of arguments. If the table has a multi-column primary key, the number of arguments must be the same as the number of columns in the primary key. To find multiple rows in a table with a multi-column primary key, each argument must be an array with the same number of elements.

The find() method always returns a Rowset object, even if only one row was found.

  • return: Row(s) matching the criteria.
  • throws: Zend_Db_Table_Exception
  • access: public
Zend_Db_Table_Rowset_Abstract find (mixed $key)
  • mixed $key: The value(s) of the primary keys.
getAdapter (line 590)

Gets the Zend_Db_Adapter_Abstract for this particular Zend_Db_Table object.

  • access: public
Zend_Db_Adapter_Abstract getAdapter ()
getDefaultSource (line 527)

returns the default source flag that determines where defaultSources come from

  • access: public
unknown getDefaultSource ()
getDefaultValues (line 548)
  • access: public
void getDefaultValues ()
getDefinition (line 347)

getDefinition()

  • access: public
Zend_Db_Table_Definition|null getDefinition ()
getDefinitionConfigName (line 369)

getDefinitionConfigName()

  • access: public
string getDefinitionConfigName ()
getDependentTables (line 501)
  • access: public
array getDependentTables ()
getMetadataCache (line 661)

Gets the metadata cache for information returned by Zend_Db_Adapter_Abstract::describeTable().

  • return: or null
  • access: public
Zend_Cache_Core getMetadataCache ()
getReference (line 460)
  • throws: Zend_Db_Table_Exception
  • access: public
array getReference (string $tableClassname, [string $ruleKey = null])
  • string $tableClassname
  • string $ruleKey: OPTIONAL
getRowClass (line 388)
  • access: public
string getRowClass ()
getRowsetClass (line 407)
  • access: public
string getRowsetClass ()
info (line 967)

Returns table information.

You can elect to return only a part of this information by supplying its key name, otherwise all information is returned as an array.

  • access: public
mixed info ([$key $key = null])
  • $key $key: The specific info part to return OPTIONAL
init (line 954)

Initialize object

Called from __construct() as final step of object instantiation.

  • access: public
void init ()
insert (line 1018)

Inserts a new row.

  • return: The primary key of the row inserted.
  • access: public
mixed insert ( $data)
  • array $data: Column-value pairs.
isIdentity (line 1083)

Check if the provided column is an identity of the table

  • throws: Zend_Db_Table_Exception
  • access: public
boolean isIdentity (string $column)
  • string $column
metadataCacheInClass (line 685)

Retrieve flag indicating if metadata should be cached for duration of instance

  • access: public
bool metadataCacheInClass ()
select (line 1002)

Returns an instance of a Zend_Db_Table_Select object.

  • access: public
Zend_Db_Table_Select select ([bool $withFromPart = self::SELECT_WITHOUT_FROM_PART])
  • bool $withFromPart: Whether or not to include the from part of the select based on the table
Constructor __construct (line 255)

Constructor.

Supported params for $config are:

  • db = user-supplied instance of database connector, or key name of registry instance.
  • name = table name.
  • primary = string or array of primary key(s).
  • rowClass = row class name.
  • rowsetClass = rowset class name.
  • referenceMap = array structure to declare relationship to parent tables.
  • dependentTables = array of child tables.
  • metadataCache = cache for information from adapter describeTable().

  • access: public
void __construct ([mixed $config = array()])
  • mixed $config: Array of user-specified config options, or just the Db Adapter.

Redefined in descendants as:
setDefaultSource (line 512)

set the defaultSource property - this tells the table class where to find default values

  • access: public
Zend_Db_Table_Abstract setDefaultSource ([string $defaultSource = self::DEFAULT_NONE])
  • string $defaultSource
setDefaultValues (line 538)

set the default values for the table class

  • access: public
Zend_Db_Table_Abstract setDefaultValues ( $defaultValues)
  • array $defaultValues
setDefinition (line 336)

setDefinition()

  • access: public
Zend_Db_Table_Abstract setDefinition (Zend_Db_Table_Definition $definition)
setDefinitionConfigName (line 358)

setDefinitionConfigName()

  • access: public
Zend_Db_Table_Abstract setDefinitionConfigName ( $definitionConfigName, string $definition)
  • string $definition
  • $definitionConfigName
setDependentTables (line 491)
  • return: Provides a fluent interface
  • access: public
Zend_Db_Table_Abstract setDependentTables ( $dependentTables)
  • array $dependentTables
setMetadataCacheInClass (line 673)

Indicate whether metadata should be cached in the class for the duration of the instance

  • access: public
Zend_Db_Table_Abstract setMetadataCacheInClass (bool $flag)
  • bool $flag
setOptions (line 278)

setOptions()

  • access: public
Zend_Db_Table_Abstract setOptions ( $options)
  • array $options
setReferences (line 447)
  • return: Provides a fluent interface
  • access: public
Zend_Db_Table_Abstract setReferences ( $referenceMap)
  • array $referenceMap
setRowClass (line 378)
  • return: Provides a fluent interface
  • access: public
Zend_Db_Table_Abstract setRowClass (string $classname)
  • string $classname
setRowsetClass (line 397)
  • return: Provides a fluent interface
  • access: public
Zend_Db_Table_Abstract setRowsetClass (string $classname)
  • string $classname
update (line 1106)

Updates existing rows.

  • return: The number of rows updated.
  • access: public
int update ( $data, array|string $where)
  • array $data: Column-value pairs.
  • array|string $where: An SQL WHERE clause, or an array of SQL WHERE clauses.
_cascadeDelete (line 1171)

Called by parent table's class during delete() method.

  • return: Number of affected rows
  • access: public
int _cascadeDelete (string $parentTableClassname,  $primaryKey)
  • string $parentTableClassname
  • array $primaryKey
_cascadeUpdate (line 1120)

Called by a row object for the parent table's class during save() method.

  • access: public
int _cascadeUpdate (string $parentTableClassname,  $oldPrimaryKey,  $newPrimaryKey)
  • string $parentTableClassname
  • array $oldPrimaryKey
  • array $newPrimaryKey
_fetch (line 1503)

Support method for fetching rows.

  • return: An array containing the row results in FETCH_ASSOC mode.
  • access: protected
array _fetch (Zend_Db_Table_Select $select)
_getCols (line 842)

Retrieve table columns

  • access: protected
array _getCols ()
_getReferenceMapNormalized (line 915)

Returns a normalized version of the reference map

  • access: protected
array _getReferenceMapNormalized ()
_order (line 1484)

Generate ORDER clause from user-supplied string or array

  • access: protected
Zend_Db_Table_Select _order (Zend_Db_Table_Select $select, string|array $order)
_setAdapter (line 579)
  • return: Provides a fluent interface
  • access: protected
Zend_Db_Table_Abstract _setAdapter (mixed $db)
  • mixed $db: Either an Adapter object, or a string naming a Registry key
_setMetadataCache (line 650)

Sets the metadata cache for information returned by Zend_Db_Adapter_Abstract::describeTable().

If $metadataCache is null, then no metadata cache is used. Since there is no opportunity to reload metadata after instantiation, this method need not be public, particularly because that it would have no effect results in unnecessary API complexity. To configure the metadata cache, use the metadataCache configuration option for the class constructor upon instantiation.

  • return: Provides a fluent interface
  • access: protected
Zend_Db_Table_Abstract _setMetadataCache (mixed $metadataCache)
  • mixed $metadataCache: Either a Cache object, or a string naming a Registry key
_setSequence (line 723)

Sets the sequence member, which defines the behavior for generating primary key values in new rows.

  • If this is a string, then the string names the sequence object.
  • If this is boolean true, then the key uses an auto-incrementing or identity mechanism.
  • If this is boolean false, then the key is user-defined. Use this for natural keys, for example.

  • return: Provides a fluent interface
  • access: protected
Zend_Db_Table_Adapter_Abstract _setSequence (mixed $sequence)
  • mixed $sequence
_setup (line 737)

Turnkey for initialization of a table object.

Calls other protected methods for individual tasks, to make it easier for a subclass to override part of the setup logic.

  • access: protected
void _setup ()

Redefined in descendants as:
_setupDatabaseAdapter (line 748)

Initialize database adapter.

  • access: protected
void _setupDatabaseAdapter ()
_setupMetadata (line 788)

Initializes metadata.

If metadata cannot be loaded from cache, adapter's describeTable() method is called to discover metadata information. Returns true if and only if the metadata are loaded from cache.

  • throws: Zend_Db_Table_Exception
  • access: protected
boolean _setupMetadata ()
_setupPrimaryKey (line 859)

Initialize primary key from metadata.

If $_primary is not defined, discover primary keys from the information returned by describeTable().

  • throws: Zend_Db_Table_Exception
  • access: protected
void _setupPrimaryKey ()
_setupTableName (line 770)

Initialize table and schema names.

If the table name is not set in the class definition, use the class name itself as the table name.

A schema name provided with the table name (e.g., "schema.table") overrides any existing value for $this->_schema.

  • access: protected
void _setupTableName ()

Redefined in descendants as:
_where (line 1459)

Generate WHERE clause from user-supplied string or array

  • access: protected
Zend_Db_Table_Select _where (Zend_Db_Table_Select $select, string|array $where)
Class Constants
ADAPTER = 'db' (line 50)
CASCADE = 'cascade' (line 72)
COLS = 'cols' (line 56)
COLUMNS = 'columns' (line 66)
DEFAULT_CLASS = 'defaultClass' (line 77)
DEFAULT_DB = 'defaultDb' (line 78)
DEFAULT_NONE = 'defaultNone' (line 76)
DEFINITION = 'definition' (line 51)
DEFINITION_CONFIG_NAME = 'definitionConfigName' (line 52)
DEPENDENT_TABLES = 'dependentTables' (line 63)
METADATA = 'metadata' (line 57)
METADATA_CACHE = 'metadataCache' (line 58)
METADATA_CACHE_IN_CLASS = 'metadataCacheInClass' (line 59)
NAME = 'name' (line 54)
ON_DELETE = 'onDelete' (line 69)
ON_UPDATE = 'onUpdate' (line 70)
PRIMARY = 'primary' (line 55)
REFERENCE_MAP = 'referenceMap' (line 62)
REF_COLUMNS = 'refColumns' (line 68)
REF_TABLE_CLASS = 'refTableClass' (line 67)
RESTRICT = 'restrict' (line 73)
ROWSET_CLASS = 'rowsetClass' (line 61)
ROW_CLASS = 'rowClass' (line 60)
SCHEMA = 'schema' (line 53)
SELECT_WITHOUT_FROM_PART = false (line 81)
SELECT_WITH_FROM_PART = true (line 80)
SEQUENCE = 'sequence' (line 64)
SET_NULL = 'setNull' (line 74)

Documentation generated on Mon, 21 Jun 2010 15:05:08 -0400 by phpDocumentor 1.4.3