Db/Table/Abstract.php
Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to [email protected] so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Db
- Subpackage
- Table
- Version
- $Id: Abstract.php 24958 2012-06-15 13:44:04Z adamlundrigan $
\Zend_Db_Table_Abstract
Class for SQL table interface.
- Children
- \Zend_Session_SaveHandler_DbTable
- \Zend_Queue_Adapter_Db_Queue
- \Zend_Queue_Adapter_Db_Message
- \Zend_Db_Table
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Constants
Properties


array $_cols =
The table column names derived from Zend_Db_Adapter_Abstract::describeTable().
- Type
- array


\Zend_Cache_Core $_defaultMetadataCache = null
Default cache for information provided by the adapter's describeTable() method.
null
Details- Type
- \Zend_Cache_Core


\unknown_type $_definition = null
Optional Zend_Db_Table_Definition object
null
Details- Type
- \unknown_type


string $_definitionConfigName = null
Optional definition config name used in concrete implementation
null
Details- Type
- string


array $_dependentTables = array()
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.
array()
Details- Type
- array


integer $_identity = 1
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.
1
Details- Type
- integer


array $_metadata = array()
Information provided by the adapter's describeTable() method.
array()
Details- Type
- array


\Zend_Cache_Core $_metadataCache = null
Cache for information provided by the adapter's describeTable() method.
null
Details- Type
- \Zend_Cache_Core


bool $_metadataCacheInClass = true
Flag: whether or not to cache metadata in the class
true
Details- Type
- bool


mixed $_primary = null
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.
null
Details- Type
- mixed


array $_referenceMap = array()
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.
array()
Details- Type
- array


string $_rowClass = 'Zend_Db_Table_Row'
Classname for row
'Zend_Db_Table_Row'
Details- Type
- string


string $_rowsetClass = 'Zend_Db_Table_Rowset'
Classname for rowset
'Zend_Db_Table_Rowset'
Details- Type
- string


array $_schema = null
The schema name (default null means current schema)
null
Details- Type
- array
Methods


__construct(mixed $config = array()) : void
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().
Name | Type | Description |
---|---|---|
$config | mixed | Array of user-specified config options, or just the Db Adapter. |


_cascadeDelete(string $parentTableClassname, array $primaryKey) : int
Called by parent table's class during delete() method.
Name | Type | Description |
---|---|---|
$parentTableClassname | string | |
$primaryKey | array |
Type | Description |
---|---|
int | Number of affected rows |


_cascadeUpdate(string $parentTableClassname, array $oldPrimaryKey, array $newPrimaryKey) : int
Called by a row object for the parent table's class during save() method.
Name | Type | Description |
---|---|---|
$parentTableClassname | string | |
$oldPrimaryKey | array | |
$newPrimaryKey | array |
Type | Description |
---|---|
int |


_fetch(\Zend_Db_Table_Select $select) : array
Support method for fetching rows.
Name | Type | Description |
---|---|---|
$select | \Zend_Db_Table_Select | query options. |
Type | Description |
---|---|
array | An array containing the row results in FETCH_ASSOC mode. |


_getReferenceMapNormalized() : array
Returns a normalized version of the reference map
Type | Description |
---|---|
array |


_order( $select, string | array $order) : \Zend_Db_Table_Select
Generate ORDER clause from user-supplied string or array
Name | Type | Description |
---|---|---|
$select | ||
$order | string | array | OPTIONAL An SQL ORDER clause. |
Type | Description |
---|---|
\Zend_Db_Table_Select |


_setAdapter(mixed $db) : \Zend_Db_Table_Abstract
Name | Type | Description |
---|---|---|
$db | mixed | Either an Adapter object, or a string naming a Registry key |
Type | Description |
---|---|
\Zend_Db_Table_Abstract | Provides a fluent interface |


_setMetadataCache(mixed $metadataCache) : \Zend_Db_Table_Abstract
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.
Name | Type | Description |
---|---|---|
$metadataCache | mixed | Either a Cache object, or a string naming a Registry key |
Type | Description |
---|---|
\Zend_Db_Table_Abstract | Provides a fluent interface |


_setSequence(mixed $sequence) : \Zend_Db_Table_Adapter_Abstract
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.
Name | Type | Description |
---|---|---|
$sequence | mixed |
Type | Description |
---|---|
\Zend_Db_Table_Adapter_Abstract | Provides a fluent interface |


_setup() : void
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.


_setupAdapter(mixed $db) : \Zend_Db_Adapter_Abstract
Name | Type | Description |
---|---|---|
$db | mixed | Either an Adapter object, or a string naming a Registry key |
Type | Description |
---|---|
\Zend_Db_Adapter_Abstract |
Exception | Description |
---|---|
\Zend_Db_Table_Exception |


_setupDatabaseAdapter() : void
Initialize database adapter.
Exception | Description |
---|---|
\Zend_Db_Table_Exception |


_setupMetadata() : boolean
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.
Type | Description |
---|---|
boolean |
Exception | Description |
---|---|
\Zend_Db_Table_Exception |


_setupMetadataCache(mixed $metadataCache) : \Zend_Cache_Core
Name | Type | Description |
---|---|---|
$metadataCache | mixed | Either a Cache object, or a string naming a Registry key |
Type | Description |
---|---|
\Zend_Cache_Core |
Exception | Description |
---|---|
\Zend_Db_Table_Exception |


_setupPrimaryKey() : void
Initialize primary key from metadata.
If $_primary is not defined, discover primary keys from the information returned by describeTable().
Exception | Description |
---|---|
\Zend_Db_Table_Exception |


_setupTableName() : void
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.


_where( $select, string | array $where) : \Zend_Db_Table_Select
Generate WHERE clause from user-supplied string or array
Name | Type | Description |
---|---|---|
$select | ||
$where | string | array | OPTIONAL An SQL WHERE clause. |
Type | Description |
---|---|
\Zend_Db_Table_Select |


addReference(string $ruleKey, string | array $columns, string $refTableClass, string | array $refColumns, string $onDelete = null, string $onUpdate = null) : \Zend_Db_Table_Abstract
Add a reference to the reference map
Name | Type | Description |
---|---|---|
$ruleKey | string | |
$columns | string | array | |
$refTableClass | string | |
$refColumns | string | array | |
$onDelete | string | |
$onUpdate | string |
Type | Description |
---|---|
\Zend_Db_Table_Abstract |


createRow(array $data = array(), string $defaultSource = null) : \Zend_Db_Table_Row_Abstract
Fetches a new blank row (not from the database).
Name | Type | Description |
---|---|---|
$data | array | OPTIONAL data to populate in the new row. |
$defaultSource | string | OPTIONAL flag to force default values into new row |
Type | Description |
---|---|
\Zend_Db_Table_Row_Abstract |


delete(array | string $where) : int
Deletes existing rows.
Name | Type | Description |
---|---|---|
$where | array | string | SQL WHERE clause(s). |
Type | Description |
---|---|
int | The number of rows deleted. |


fetchAll(string | array | \Zend_Db_Table_Select $where = null, string | array $order = null, int $count = null, int $offset = null) : \Zend_Db_Table_Rowset_Abstract
Fetches all rows.
Honors the Zend_Db_Adapter fetch mode.
Name | Type | Description |
---|---|---|
$where | string | array | \Zend_Db_Table_Select | OPTIONAL An SQL WHERE clause or Zend_Db_Table_Select object. |
$order | string | array | OPTIONAL An SQL ORDER clause. |
$count | int | OPTIONAL An SQL LIMIT count. |
$offset | int | OPTIONAL An SQL LIMIT offset. |
Type | Description |
---|---|
\Zend_Db_Table_Rowset_Abstract | The row results per the Zend_Db_Adapter fetch mode. |


fetchNew() : \Zend_Db_Table_Row_Abstract
Fetches a new blank row (not from the database).
Type | Description |
---|---|
\Zend_Db_Table_Row_Abstract |
- Deprecated
- since 0.9.3 - use createRow() instead.


fetchRow(string | array | \Zend_Db_Table_Select $where = null, string | array $order = null, int $offset = null) : \Zend_Db_Table_Row_Abstract | null
Fetches one row in an object of type Zend_Db_Table_Row_Abstract, or returns null if no row matches the specified criteria.
Name | Type | Description |
---|---|---|
$where | string | array | \Zend_Db_Table_Select | OPTIONAL An SQL WHERE clause or Zend_Db_Table_Select object. |
$order | string | array | OPTIONAL An SQL ORDER clause. |
$offset | int | OPTIONAL An SQL OFFSET value. |
Type | Description |
---|---|
\Zend_Db_Table_Row_Abstract | null | The row results per the Zend_Db_Adapter fetch mode, or null if no row found. |


find() : \Zend_Db_Table_Rowset_Abstract
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.
Type | Description |
---|---|
\Zend_Db_Table_Rowset_Abstract | Row(s) matching the criteria. |
Exception | Description |
---|---|
\Zend_Db_Table_Exception |


getAdapter() : \Zend_Db_Adapter_Abstract
Gets the Zend_Db_Adapter_Abstract for this particular Zend_Db_Table object.
Type | Description |
---|---|
\Zend_Db_Adapter_Abstract |


getDefaultAdapter() : \Zend_Db_Adapter_Abstract
Gets the default Zend_Db_Adapter_Abstract for all Zend_Db_Table objects.
Type | Description |
---|---|
\Zend_Db_Adapter_Abstract | or null |


getDefaultMetadataCache() : \Zend_Cache_Core
Gets the default metadata cache for information returned by Zend_Db_Adapter_Abstract::describeTable().
Type | Description |
---|---|
\Zend_Cache_Core | or null |


getDefaultSource() : \unknown
returns the default source flag that determines where defaultSources come from
Type | Description |
---|---|
\unknown |


getDefinition() : \Zend_Db_Table_Definition | null
getDefinition()
Type | Description |
---|---|
\Zend_Db_Table_Definition | null |


getMetadataCache() : \Zend_Cache_Core
Gets the metadata cache for information returned by Zend_Db_Adapter_Abstract::describeTable().
Type | Description |
---|---|
\Zend_Cache_Core | or null |


getReference(string $tableClassname, string $ruleKey = null) : array
Name | Type | Description |
---|---|---|
$tableClassname | string | |
$ruleKey | string | OPTIONAL |
Type | Description |
---|---|
array |
Exception | Description |
---|---|
\Zend_Db_Table_Exception |


getTableFromString( $tableName, $referenceTable = null) : void
Name | Type | Description |
---|---|---|
$tableName | ||
$referenceTable |


info(string $key = null) : mixed
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.
Name | Type | Description |
---|---|---|
$key | string | The specific info part to return OPTIONAL |
Type | Description |
---|---|
mixed |
Exception | Description |
---|---|
\Zend_Db_Table_Exception |


insert(array $data) : mixed
Inserts a new row.
Name | Type | Description |
---|---|---|
$data | array | Column-value pairs. |
Type | Description |
---|---|
mixed | The primary key of the row inserted. |


isIdentity(string $column) : boolean
Check if the provided column is an identity of the table
Name | Type | Description |
---|---|---|
$column | string |
Type | Description |
---|---|
boolean |
Exception | Description |
---|---|
\Zend_Db_Table_Exception |


metadataCacheInClass() : bool
Retrieve flag indicating if metadata should be cached for duration of instance
Type | Description |
---|---|
bool |


select(bool $withFromPart = self::SELECT_WITHOUT_FROM_PART) : \Zend_Db_Table_Select
Returns an instance of a Zend_Db_Table_Select object.
Name | Type | Description |
---|---|---|
$withFromPart | bool | Whether or not to include the from part of the select based on the table |
Type | Description |
---|---|
\Zend_Db_Table_Select |


setDefaultAdapter(mixed $db = null) : void
Sets the default Zend_Db_Adapter_Abstract for all Zend_Db_Table objects.
Name | Type | Description |
---|---|---|
$db | mixed | Either an Adapter object, or a string naming a Registry key |


setDefaultMetadataCache(mixed $metadataCache = null) : void
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.
Name | Type | Description |
---|---|---|
$metadataCache | mixed | Either a Cache object, or a string naming a Registry key |


setDefaultSource(string $defaultSource = self::DEFAULT_NONE) : \Zend_Db_Table_Abstract
set the defaultSource property - this tells the table class where to find default values
Name | Type | Description |
---|---|---|
$defaultSource | string |
Type | Description |
---|---|
\Zend_Db_Table_Abstract |


setDefaultValues(array $defaultValues) : \Zend_Db_Table_Abstract
set the default values for the table class
Name | Type | Description |
---|---|---|
$defaultValues | array |
Type | Description |
---|---|
\Zend_Db_Table_Abstract |


setDefinition(\Zend_Db_Table_Definition $definition) : \Zend_Db_Table_Abstract
setDefinition()
Name | Type | Description |
---|---|---|
$definition | \Zend_Db_Table_Definition |
Type | Description |
---|---|
\Zend_Db_Table_Abstract |


setDefinitionConfigName( $definitionConfigName) : \Zend_Db_Table_Abstract
setDefinitionConfigName()
Name | Type | Description |
---|---|---|
$definitionConfigName |
Type | Description |
---|---|
\Zend_Db_Table_Abstract |


setDependentTables(array $dependentTables) : \Zend_Db_Table_Abstract
Name | Type | Description |
---|---|---|
$dependentTables | array |
Type | Description |
---|---|
\Zend_Db_Table_Abstract | Provides a fluent interface |


setMetadataCacheInClass(bool $flag) : \Zend_Db_Table_Abstract
Indicate whether metadata should be cached in the class for the duration of the instance
Name | Type | Description |
---|---|---|
$flag | bool |
Type | Description |
---|---|
\Zend_Db_Table_Abstract |


setOptions(array $options) : \Zend_Db_Table_Abstract
setOptions()
Name | Type | Description |
---|---|---|
$options | array |
Type | Description |
---|---|
\Zend_Db_Table_Abstract |


setReferences(array $referenceMap) : \Zend_Db_Table_Abstract
Name | Type | Description |
---|---|---|
$referenceMap | array |
Type | Description |
---|---|
\Zend_Db_Table_Abstract | Provides a fluent interface |


setRowClass(string $classname) : \Zend_Db_Table_Abstract
Name | Type | Description |
---|---|---|
$classname | string |
Type | Description |
---|---|
\Zend_Db_Table_Abstract | Provides a fluent interface |


setRowsetClass(string $classname) : \Zend_Db_Table_Abstract
Name | Type | Description |
---|---|---|
$classname | string |
Type | Description |
---|---|
\Zend_Db_Table_Abstract | Provides a fluent interface |