API Documentation

Zend/Db/Table/Abstract.php

Show: inherited
Table of Contents

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 license@zend.com 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 24594 2012-01-05 21:27:01Z matthew $  

\Zend_Db_Table_Abstract

Package: Zend\Db\Table

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

Constant  ADAPTER = 'db'
Constant  DEFINITION = 'definition'
Constant  DEFINITION_CONFIG_NAME = 'definitionConfigName'
Constant  SCHEMA = 'schema'
Constant  NAME = 'name'
Constant  PRIMARY = 'primary'
Constant  COLS = 'cols'
Constant  METADATA = 'metadata'
Constant  METADATA_CACHE = 'metadataCache'
Constant  METADATA_CACHE_IN_CLASS = 'metadataCacheInClass'
Constant  ROW_CLASS = 'rowClass'
Constant  ROWSET_CLASS = 'rowsetClass'
Constant  REFERENCE_MAP = 'referenceMap'
Constant  DEPENDENT_TABLES = 'dependentTables'
Constant  SEQUENCE = 'sequence'
Constant  COLUMNS = 'columns'
Constant  REF_TABLE_CLASS = 'refTableClass'
Constant  REF_COLUMNS = 'refColumns'
Constant  ON_DELETE = 'onDelete'
Constant  ON_UPDATE = 'onUpdate'
Constant  CASCADE = 'cascade'
Constant  RESTRICT = 'restrict'
Constant  SET_NULL = 'setNull'
Constant  DEFAULT_NONE = 'defaultNone'
Constant  DEFAULT_CLASS = 'defaultClass'
Constant  DEFAULT_DB = 'defaultDb'
Constant  SELECT_WITH_FROM_PART = true
Constant  SELECT_WITHOUT_FROM_PART = false

Properties

Propertyprotectedarray  $_cols= ''

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

Details
Type
array
Propertyprotected\Zend_Db_Adapter_Abstract  $_db= ''

Zend_Db_Adapter_Abstract object.

Propertyprotected\Zend_Db_Adapter_Abstract  $_defaultDb= ''
static

Default Zend_Db_Adapter_Abstract object.

Propertyprotected\Zend_Cache_Core  $_defaultMetadataCache= 'null'
static

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

Default valuenullDetails
Type
\Zend_Cache_Core
Propertyprotected  $_defaultSource= 'self::DEFAULT_NONE'
Default valueself::DEFAULT_NONEDetails
Type
Propertyprotected  $_defaultValues= 'array()'
Default valuearray()Details
Type
Propertyprotected\unknown_type  $_definition= 'null'

Optional Zend_Db_Table_Definition object

Default valuenullDetails
Type
\unknown_type
Propertyprotectedstring  $_definitionConfigName= 'null'

Optional definition config name used in concrete implementation

Default valuenullDetails
Type
string
Propertyprotectedarray  $_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.

Default valuearray()Details
Type
array
Propertyprotectedinteger  $_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.

Default value1Details
Type
integer
Propertyprotectedarray  $_metadata= 'array()'

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

Default valuearray()Details
Type
array
Propertyprotected\Zend_Cache_Core  $_metadataCache= 'null'

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

Default valuenullDetails
Type
\Zend_Cache_Core
Propertyprotectedbool  $_metadataCacheInClass= 'true'

Flag: whether or not to cache metadata in the class

Default valuetrueDetails
Type
bool
Propertyprotectedstring  $_name= 'null'

The table name.

Default valuenullDetails
Type
string
Propertyprotectedmixed  $_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.

Default valuenullDetails
Type
mixed
Propertyprotectedarray  $_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.

Default valuearray()Details
Type
array
Propertyprotectedstring  $_rowClass= ''Zend_Db_Table_Row''

Classname for row

Default value'Zend_Db_Table_Row'Details
Type
string
Propertyprotectedstring  $_rowsetClass= ''Zend_Db_Table_Rowset''

Classname for rowset

Default value'Zend_Db_Table_Rowset'Details
Type
string
Propertyprotectedarray  $_schema= 'null'

The schema name (default null means current schema)

Default valuenullDetails
Type
array
Propertyprotectedmixed  $_sequence= 'true'

Define the logic for new values in the primary key.

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

Default valuetrueDetails
Type
mixed

Methods

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

Parameters
Name Type Description
$config mixed

Array of user-specified config options, or just the Db Adapter.

methodpublic_cascadeDelete( string $parentTableClassname, array $primaryKey ) : int

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

Parameters
Name Type Description
$parentTableClassname string
$primaryKey array
Returns
Type Description
int Number of affected rows
methodpublic_cascadeUpdate( string $parentTableClassname, array $oldPrimaryKey, array $newPrimaryKey ) : int

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

Parameters
Name Type Description
$parentTableClassname string
$oldPrimaryKey array
$newPrimaryKey array
Returns
Type Description
int
methodprotected_fetch( \Zend_Db_Table_Select $select ) : array

Support method for fetching rows.

Parameters
Name Type Description
$select \Zend_Db_Table_Select

query options.

Returns
Type Description
array An array containing the row results in FETCH_ASSOC mode.
methodprotected_getCols( ) : array

Retrieve table columns

Returns
Type Description
array
methodprotected_getReferenceMapNormalized( ) : array

Returns a normalized version of the reference map

Returns
Type Description
array
methodprotected_order(  $select, string|array $order ) : \Zend_Db_Table_Select

Generate ORDER clause from user-supplied string or array

Parameters
Name Type Description
$select
$order string|array

OPTIONAL An SQL ORDER clause.

Returns
Type Description
\Zend_Db_Table_Select
methodprotected_setAdapter( mixed $db ) : \Zend_Db_Table_Abstract

Parameters
Name Type Description
$db mixed

Either an Adapter object, or a string naming a Registry key

Returns
Type Description
\Zend_Db_Table_Abstract Provides a fluent interface
methodprotected_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.

Parameters
Name Type Description
$metadataCache mixed

Either a Cache object, or a string naming a Registry key

Returns
Type Description
\Zend_Db_Table_Abstract Provides a fluent interface
methodprotected_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.
Parameters
Name Type Description
$sequence mixed
Returns
Type Description
\Zend_Db_Table_Adapter_Abstract Provides a fluent interface
methodprotected_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.

methodprotected_setupAdapter( mixed $db ) : \Zend_Db_Adapter_Abstract
static

Parameters
Name Type Description
$db mixed

Either an Adapter object, or a string naming a Registry key

Returns
Type Description
\Zend_Db_Adapter_Abstract
Throws
Exception Description
\Zend_Db_Table_Exception
methodprotected_setupDatabaseAdapter( ) : void

Initialize database adapter.

Throws
Exception Description
\Zend_Db_Table_Exception
methodprotected_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.

Returns
Type Description
boolean
Throws
Exception Description
\Zend_Db_Table_Exception
methodprotected_setupMetadataCache( mixed $metadataCache ) : \Zend_Cache_Core
static

Parameters
Name Type Description
$metadataCache mixed

Either a Cache object, or a string naming a Registry key

Returns
Type Description
\Zend_Cache_Core
Throws
Exception Description
\Zend_Db_Table_Exception
methodprotected_setupPrimaryKey( ) : void

Initialize primary key from metadata.

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

Throws
Exception Description
\Zend_Db_Table_Exception
methodprotected_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.

methodprotected_where(  $select, string|array $where ) : \Zend_Db_Table_Select

Generate WHERE clause from user-supplied string or array

Parameters
Name Type Description
$select
$where string|array

OPTIONAL An SQL WHERE clause.

Returns
Type Description
\Zend_Db_Table_Select
methodpublicaddReference( 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

Parameters
Name Type Description
$ruleKey string
$columns string|array
$refTableClass string
$refColumns string|array
$onDelete string
$onUpdate string
Returns
Type Description
\Zend_Db_Table_Abstract
methodpubliccreateRow( array $data = array(), string $defaultSource = null ) : \Zend_Db_Table_Row_Abstract

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

Parameters
Name Type Description
$data array

OPTIONAL data to populate in the new row.

$defaultSource string

OPTIONAL flag to force default values into new row

Returns
Type Description
\Zend_Db_Table_Row_Abstract
methodpublicdelete( array|string $where ) : int

Deletes existing rows.

Parameters
Name Type Description
$where array|string

SQL WHERE clause(s).

Returns
Type Description
int The number of rows deleted.
methodpublicfetchAll( 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.

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

Returns
Type Description
\Zend_Db_Table_Rowset_Abstract The row results per the Zend_Db_Adapter fetch mode.
methodpublicfetchNew( ) : \Zend_Db_Table_Row_Abstract

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

Returns
Type Description
\Zend_Db_Table_Row_Abstract
Details
Deprecated
since 0.9.3 - use createRow() instead.  
methodpublicfetchRow( 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.

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

Returns
Type Description
\Zend_Db_Table_Row_Abstract|null The row results per the Zend_Db_Adapter fetch mode, or null if no row found.
methodpublicfind( ) : \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.

Returns
Type Description
\Zend_Db_Table_Rowset_Abstract Row(s) matching the criteria.
Throws
Exception Description
\Zend_Db_Table_Exception
methodpublicgetAdapter( ) : \Zend_Db_Adapter_Abstract

Gets the Zend_Db_Adapter_Abstract for this particular Zend_Db_Table object.

Returns
Type Description
\Zend_Db_Adapter_Abstract
methodpublicgetDefaultAdapter( ) : \Zend_Db_Adapter_Abstract
static

Gets the default Zend_Db_Adapter_Abstract for all Zend_Db_Table objects.

Returns
Type Description
\Zend_Db_Adapter_Abstract or null
methodpublicgetDefaultMetadataCache( ) : \Zend_Cache_Core
static

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

Returns
Type Description
\Zend_Cache_Core or null
methodpublicgetDefaultSource( ) : \unknown

returns the default source flag that determines where defaultSources come from

Returns
Type Description
\unknown
methodpublicgetDefaultValues( ) : void

methodpublicgetDefinition( ) : \Zend_Db_Table_Definition|null

getDefinition()

Returns
Type Description
\Zend_Db_Table_Definition|null
methodpublicgetDefinitionConfigName( ) : string

getDefinitionConfigName()

Returns
Type Description
string
methodpublicgetDependentTables( ) : array

Returns
Type Description
array
methodpublicgetMetadataCache( ) : \Zend_Cache_Core

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

Returns
Type Description
\Zend_Cache_Core or null
methodpublicgetReference( string $tableClassname, string $ruleKey = null ) : array

Parameters
Name Type Description
$tableClassname string
$ruleKey string

OPTIONAL

Returns
Type Description
array
Throws
Exception Description
\Zend_Db_Table_Exception
methodpublicgetRowClass( ) : string

Returns
Type Description
string
methodpublicgetRowsetClass( ) : string

Returns
Type Description
string
methodpublicinfo( 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.

Parameters
Name Type Description
$key string

The specific info part to return OPTIONAL

Returns
Type Description
mixed
Throws
Exception Description
\Zend_Db_Table_Exception
methodpublicinit( ) : void

Initialize object

Called from {@link __construct()} as final step of object instantiation.

methodpublicinsert( array $data ) : mixed

Inserts a new row.

Parameters
Name Type Description
$data array

Column-value pairs.

Returns
Type Description
mixed The primary key of the row inserted.
methodpublicisIdentity( string $column ) : boolean

Check if the provided column is an identity of the table

Parameters
Name Type Description
$column string
Returns
Type Description
boolean
Throws
Exception Description
\Zend_Db_Table_Exception
methodpublicmetadataCacheInClass( ) : bool

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

Returns
Type Description
bool
methodpublicselect( bool $withFromPart = self::SELECT_WITHOUT_FROM_PART ) : \Zend_Db_Table_Select

Returns an instance of a Zend_Db_Table_Select object.

Parameters
Name Type Description
$withFromPart bool

Whether or not to include the from part of the select based on the table

Returns
Type Description
\Zend_Db_Table_Select
methodpublicsetDefaultAdapter( mixed $db = null ) : void
static

Sets the default Zend_Db_Adapter_Abstract for all Zend_Db_Table objects.

Parameters
Name Type Description
$db mixed

Either an Adapter object, or a string naming a Registry key

methodpublicsetDefaultMetadataCache( mixed $metadataCache = null ) : void
static

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.

Parameters
Name Type Description
$metadataCache mixed

Either a Cache object, or a string naming a Registry key

methodpublicsetDefaultSource( string $defaultSource = self::DEFAULT_NONE ) : \Zend_Db_Table_Abstract

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

Parameters
Name Type Description
$defaultSource string
Returns
Type Description
\Zend_Db_Table_Abstract
methodpublicsetDefaultValues( array $defaultValues ) : \Zend_Db_Table_Abstract

set the default values for the table class

Parameters
Name Type Description
$defaultValues array
Returns
Type Description
\Zend_Db_Table_Abstract
methodpublicsetDefinition( \Zend_Db_Table_Definition $definition ) : \Zend_Db_Table_Abstract

setDefinition()

Parameters
Name Type Description
$definition \Zend_Db_Table_Definition
Returns
Type Description
\Zend_Db_Table_Abstract
methodpublicsetDefinitionConfigName(  $definitionConfigName ) : \Zend_Db_Table_Abstract

setDefinitionConfigName()

Parameters
Name Type Description
$definitionConfigName
Returns
Type Description
\Zend_Db_Table_Abstract
methodpublicsetDependentTables( array $dependentTables ) : \Zend_Db_Table_Abstract

Parameters
Name Type Description
$dependentTables array
Returns
Type Description
\Zend_Db_Table_Abstract Provides a fluent interface
methodpublicsetMetadataCacheInClass( bool $flag ) : \Zend_Db_Table_Abstract

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

Parameters
Name Type Description
$flag bool
Returns
Type Description
\Zend_Db_Table_Abstract
methodpublicsetOptions( array $options ) : \Zend_Db_Table_Abstract

setOptions()

Parameters
Name Type Description
$options array
Returns
Type Description
\Zend_Db_Table_Abstract
methodpublicsetReferences( array $referenceMap ) : \Zend_Db_Table_Abstract

Parameters
Name Type Description
$referenceMap array
Returns
Type Description
\Zend_Db_Table_Abstract Provides a fluent interface
methodpublicsetRowClass( string $classname ) : \Zend_Db_Table_Abstract

Parameters
Name Type Description
$classname string
Returns
Type Description
\Zend_Db_Table_Abstract Provides a fluent interface
methodpublicsetRowsetClass( string $classname ) : \Zend_Db_Table_Abstract

Parameters
Name Type Description
$classname string
Returns
Type Description
\Zend_Db_Table_Abstract Provides a fluent interface
methodpublicupdate( array $data, array|string $where ) : int

Updates existing rows.

Parameters
Name Type Description
$data array

Column-value pairs.

$where array|string

An SQL WHERE clause, or an array of SQL WHERE clauses.

Returns
Type Description
int The number of rows updated.
Documentation was generated by DocBlox 0.15.1.