Classes:
Doctrine
Doctrine_Access
Doctrine_Adapter
Doctrine_Adapter_Db2_Exception
Doctrine_Adapter_Exception
Doctrine_Adapter_Statement
Doctrine_AuditLog
Doctrine_AuditLog_Listener
Doctrine_Collection
Doctrine_Collection_Exception
Doctrine_Collection_Iterator
Doctrine_Collection_Iterator_Expandable
Doctrine_Collection_Iterator_Normal
Doctrine_Collection_Iterator_Offset
Doctrine_Collection_Offset
Doctrine_Column
Doctrine_Compiler
Doctrine_Compiler_Exception
Doctrine_Configurable
Doctrine_Connection
Doctrine_Connection_Common
Doctrine_Connection_Db2
Doctrine_Connection_Exception
Doctrine_Connection_Firebird
Doctrine_Connection_Firebird_Exception
Doctrine_Connection_Informix
Doctrine_Connection_Informix_Exception
Doctrine_Connection_Mock
Doctrine_Connection_Module
Doctrine_Connection_Mssql
Doctrine_Connection_Mssql_Exception
Doctrine_Connection_Mysql
Doctrine_Connection_Mysql_Exception
Doctrine_Connection_Oracle
Doctrine_Connection_Oracle_Exception
Doctrine_Connection_Pgsql
Doctrine_Connection_Pgsql_Exception
Doctrine_Connection_Profiler
Doctrine_Connection_Profiler_Exception
Doctrine_Connection_Sqlite
Doctrine_Connection_Sqlite_Exception
Doctrine_Connection_Statement
Doctrine_Connection_UnitOfWork
Doctrine_DataDict
Doctrine_DataDict_Exception
Doctrine_DataDict_Informix
Doctrine_DataType
Doctrine_Db
Doctrine_Event
Doctrine_EventListener
Doctrine_EventListener_Chain
Doctrine_EventListener_Exception
Doctrine_Exception
Doctrine_Export
Doctrine_Export_Exception
Doctrine_Export_Firebird
Doctrine_Export_Frontbase
Doctrine_Export_Mssql
Doctrine_Export_Mysql
Doctrine_Export_Oracle
Doctrine_Export_Pgsql
Doctrine_Export_Reporter
Doctrine_Export_Schema
Doctrine_Export_Schema_Xml
Doctrine_Export_Schema_Yml
Doctrine_Export_Sqlite
Doctrine_Expression
Doctrine_Expression_Driver
Doctrine_Expression_Exception
Doctrine_Expression_Firebird
Doctrine_Expression_Informix
Doctrine_Expression_Mock
Doctrine_Expression_Mssql
Doctrine_Expression_Mysql
Doctrine_Expression_Oracle
Doctrine_Expression_Pgsql
Doctrine_Expression_Sqlite
Doctrine_File
Doctrine_File_Index
Doctrine_Formatter
Doctrine_Hook
Doctrine_Hook_Equal
Doctrine_Hook_Integer
Doctrine_Hook_Parser
Doctrine_Hook_Parser_Complex
Doctrine_Hook_WordLike
Doctrine_Hydrate
Doctrine_Hydrate_Array
Doctrine_Hydrate_Exception
Doctrine_Hydrate_Record
Doctrine_Import
Doctrine_Import_Builder
Doctrine_Import_Builder_BaseClass
Doctrine_Import_Builder_Exception
Doctrine_Import_Exception
Doctrine_Import_Firebird
Doctrine_Import_Informix
Doctrine_Import_Mssql
Doctrine_Import_Mysql
Doctrine_Import_Oracle
Doctrine_Import_Pgsql
Doctrine_Import_Reader
Doctrine_Import_Reader_Db
Doctrine_Import_Reader_Exception
Doctrine_Import_Reader_Xml_Propel
Doctrine_Import_Schema
Doctrine_Import_Schema_Xml
Doctrine_Import_Schema_Yml
Doctrine_Import_Sqlite
Doctrine_IntegrityMapper
Doctrine_Lib
Doctrine_Locking_Exception
Doctrine_Locking_Manager_Pessimistic
Doctrine_Manager
Doctrine_Manager_Exception
Doctrine_Node
Doctrine_Node_AdjacencyList
Doctrine_Node_AdjacencyList_LevelOrderIterator
Doctrine_Node_AdjacencyList_PostOrderIterator
Doctrine_Node_AdjacencyList_PreOrderIterator
Doctrine_Node_Exception
Doctrine_Node_MaterializedPath
Doctrine_Node_MaterializedPath_LevelOrderIterator
Doctrine_Node_MaterializedPath_PostOrderIterator
Doctrine_Node_MaterializedPath_PreOrderIterator
Doctrine_Node_NestedSet
Doctrine_Node_NestedSet_LevelOrderIterator
Doctrine_Node_NestedSet_PostOrderIterator
Doctrine_Node_NestedSet_PreOrderIterator
Doctrine_Null
Doctrine_Object
Doctrine_Plugin
Doctrine_Query
Doctrine_Query_Abstract
Doctrine_Query_Check
Doctrine_Query_Condition
Doctrine_Query_Exception
Doctrine_Query_Filter
Doctrine_Query_Filter_Chain
Doctrine_Query_From
Doctrine_Query_Groupby
Doctrine_Query_Having
Doctrine_Query_JoinCondition
Doctrine_Query_Limit
Doctrine_Query_Offset
Doctrine_Query_Orderby
Doctrine_Query_Parser
Doctrine_Query_Part
Doctrine_Query_Select
Doctrine_Query_Set
Doctrine_Query_Where
Doctrine_RawSql
Doctrine_RawSql_Exception
Doctrine_Record
Doctrine_Record_Abstract
Doctrine_Record_Exception
Doctrine_Record_Filter
Doctrine_Record_Iterator
Doctrine_Record_Listener
Doctrine_Record_Listener_Chain
Doctrine_Record_State_Exception
Doctrine_Relation
Doctrine_Relation_Association
Doctrine_Relation_Association_Self
Doctrine_Relation_Exception
Doctrine_Relation_ForeignKey
Doctrine_Relation_LocalKey
Doctrine_Relation_Nest
Doctrine_Relation_Parser
Doctrine_Relation_Parser_Exception
Doctrine_Schema
Doctrine_Schema_Column
Doctrine_Schema_Database
Doctrine_Schema_Exception
Doctrine_Schema_Object
Doctrine_Schema_Relation
Doctrine_Schema_Table
Doctrine_Search
Doctrine_Search_Analyzer
Doctrine_Search_Analyzer_Exception
Doctrine_Search_Analyzer_Standard
Doctrine_Search_Exception
Doctrine_Search_Indexer
Doctrine_Search_Indexer_Dir
Doctrine_Search_Indexer_Exception
Doctrine_Search_Listener
Doctrine_Search_Parser
Doctrine_Search_Query
Doctrine_Search_Record
Doctrine_Search_Scorer
Doctrine_Search_Template
Doctrine_Sequence
Doctrine_Sequence_Db2
Doctrine_Sequence_Exception
Doctrine_Sequence_Firebird
Doctrine_Sequence_Informix
Doctrine_Sequence_Mssql
Doctrine_Sequence_Mysql
Doctrine_Sequence_Oracle
Doctrine_Sequence_Pgsql
Doctrine_Sequence_Sqlite
Doctrine_Table
Doctrine_Table_Exception
Doctrine_Table_Repository
Doctrine_Table_Repository_Exception
Doctrine_Template
Doctrine_Template_NestedSet
Doctrine_Template_Searchable
Doctrine_Template_Taggable
Doctrine_Template_Versionable
Doctrine_Tokenizer
Doctrine_Transaction
Doctrine_Transaction_Exception
Doctrine_Transaction_Firebird
Doctrine_Transaction_Informix
Doctrine_Transaction_Mock
Doctrine_Transaction_Mssql
Doctrine_Transaction_Mysql
Doctrine_Transaction_Oracle
Doctrine_Transaction_Pgsql
Doctrine_Transaction_Sqlite
Doctrine_Tree
Doctrine_Tree_AdjacencyList
Doctrine_Tree_Exception
Doctrine_Tree_MaterializedPath
Doctrine_Tree_NestedSet
Doctrine_Util
Doctrine_Validator
Doctrine_Validator_Country
Doctrine_Validator_Creditcard
Doctrine_Validator_Date
Doctrine_Validator_Email
Doctrine_Validator_Enum
Doctrine_Validator_ErrorStack
Doctrine_Validator_Exception
Doctrine_Validator_HtmlColor
Doctrine_Validator_Ip
Doctrine_Validator_Minlength
Doctrine_Validator_Nospace
Doctrine_Validator_Notblank
Doctrine_Validator_Notnull
Doctrine_Validator_Range
Doctrine_Validator_Regexp
Doctrine_Validator_Unique
Doctrine_Validator_Unsigned
Doctrine_Validator_Usstate
Doctrine_View
Doctrine_View_Exception
Doctrine_Cache
Doctrine_Cache
Doctrine_Cache_Apc
Doctrine_Cache_Array
Doctrine_Cache_Db
Doctrine_Cache_Driver
Doctrine_Cache_Exception
Doctrine_Cache_Memcache
Doctrine_Adapter
Doctrine_Adapter_Db2
Doctrine_Adapter_Mock
Doctrine_Adapter_Mysqli
Doctrine_Adapter_Oracle
Doctrine_Adapter_Statement_Mock
Doctrine_DataDict
Doctrine_DataDict_Firebird
Doctrine_DataDict_Mssql
Doctrine_DataDict_Mysql
Doctrine_DataDict_Oracle
Doctrine_DataDict_Pgsql
Doctrine_DataDict_Sqlite

# Class: Doctrine_Collection

Source Location: /Doctrine/Collection.php

## Class Doctrine_Collection

Class Overview

Implements interfaces: Countable (internal interface) IteratorAggregate (internal interface) Serializable (internal interface) Doctrine_Collection Collection of Doctrine_Record objects. Located in /Doctrine/Collection.php [line 34]
    Doctrine_Object
       |
       --Doctrine_Access
          |
          --Doctrine_Collection
Author(s): Konsta Vesterinen <kvesteri@cc.hut.fi> Information Tags:
Version: | $Revision: 2282 $
Link: | www.phpdoctrine.com
Since: | 1.0
License: | LGPL
| Properties $data $keyColumn $null $reference $referenceField $relation $_snapshot $_table | Methods __construct add contains count delete get getData getDeleteDiff getFirst getInsertDiff getIterator getKeyColumn getKeys getLast getNormalIterator getPrimaryKeys getReference getSnapshot getTable initNullObject loadRelated populateRelated processDiff remove save search serialize set setData setKeyColumn setReference takeSnapshot toArray unserialize __toString

[ Top ]
Direct descendents

Child Class | Description
--- | ---
Doctrine_Collection_Offset | Doctrine_Collection_Offset Collection of Doctrine_Record objects.

[ Top ]
Inherited Properties, Constants, and Methods

Inherited Properties | Inherited Methods | Inherited Constants
--- | --- | ---
Inherited From Doctrine_Object Doctrine_Object::$_null | Inherited From Doctrine_Access Doctrine_Access::offsetExists() Doctrine_Access::offsetGet() offsetGet an alias of get() Doctrine_Access::offsetSet() sets $offset to $value Doctrine_Access::offsetUnset() unset a given offset Doctrine_Access::setArray() setArray Doctrine_Access::__get() __get -- an alias of get() Doctrine_Access::__isset() __isset() Doctrine_Access::__set() __set an alias of set() Doctrine_Access::__unset() __unset() Inherited From Doctrine_Object Doctrine_Object::getNullObject() getNullObject returns the null object associated with this object Doctrine_Object::initNullObject() initNullObject initializes the null object |

[ Top ]
Property Summary

static Doctrine_Null | $null |
array | $data |
string | $keyColumn |
Doctrine_Record | $reference |
string | $referenceField |
Doctrine_Relation | $relation |
array | $_snapshot |
Doctrine_Table | $_table |

[ Top ]
Method Summary

static void | initNullObject() | initNullObject initializes the null object for this collection
Doctrine_Collection | __construct() | constructor
boolean | add() | adds a record to collection
boolean | contains() | contains whether or not this collection contains a specified element
integer | count() | count this class implements interface countable returns the number of records in this collection
Doctrine_Collection | delete() | delete
Doctrine_Record | get() | get returns a record for given key
array | getData() | getData returns all the records as an array
void | getDeleteDiff() |
mixed | getFirst() | getFirst returns the first record in the collection
void | getInsertDiff() |
object ArrayIterator | getIterator() | getIterator
string | getKeyColumn() | getKeyColumn returns the name of the key column
array | getKeys() | returns all keys
mixed | getLast() | getLast returns the last record in the collection
Doctrine_Iterator_Normal | getNormalIterator() | getNormalIterator returns normal iterator - an iterator that will not expand this collection
array | getPrimaryKeys() |
mixed | getReference() | getReference
array | getSnapshot() | getSnapshot returns the data of the last snapshot
Doctrine_Table | getTable() | getTable returns the table this collection belongs to
boolean | loadRelated() | loadRelated
void | populateRelated() | populateRelated
Doctrine_Collection | processDiff() | processDiff processes the difference of the last snapshot and the current data
boolean | remove() | remove removes a specified collection element
Doctrine_Collection | save() | save saves all records of this collection and processes the difference of the last snapshot and the current data
void | search() |
array | serialize() | this method is automatically called when this Doctrine_Collection is serialized
void | set() | set
Doctrine_Collection | setData() | setData
Doctrine_Collection | setKeyColumn() | setKeyColumn sets the key column for this collection
void | setReference() | setReference sets a reference pointer
Doctrine_Collection | takeSnapshot() | takeSnapshot takes a snapshot from this collection
void | toArray() | toArray Mimics the result of a $query->execute(array(), Doctrine::FETCH_ARRAY);
void | unserialize() | unseralize this method is automatically called everytime a Doctrine_Collection object is unserialized
void | __toString() | returns a string representation of this object

[ Top ]
Properties
static Doctrine_Null $null [line 67]
API Tags:

Access: | protected

[ Top ]
array $data = array() [line 39]
API Tags:

Access: | protected

[ Top ]
string $keyColumn [line 63]
API Tags:

Access: | protected

[ Top ]
Doctrine_Record $reference [line 51]
API Tags:

Access: | protected

[ Top ]
string $referenceField [line 55]
API Tags:

Access: | protected

[ Top ]
Doctrine_Relation $relation [line 59]
API Tags:

Access: | protected

[ Top ]
array $_snapshot = array() [line 47]
API Tags:

Access: | protected

[ Top ]
Doctrine_Table $_table [line 43]
API Tags:

Access: | protected

[ Top ]
Methods
static method initNullObject [line 94]

`static void initNullObject( Doctrine_Null $null )`

initNullObject initializes the null object for this collection

Parameters:

Doctrine_Null | $null: |

API Tags:

Access: | public

Redefinition of:

Doctrine_Object::initNullObject()
  initNullObject initializes the null object

[ Top ]
Constructor __construct [line 75]

`Doctrine_Collection __construct( Doctrine_Table|string $table )`

constructor

Parameters:

Doctrine_Table|string | $table: |

API Tags:

Access: | public

Redefined in descendants as:

- Doctrine_Collection_Offset::__construct()

[ Top ]
add [line 380]

`boolean add( Doctrine_Record $record, [string $key = null] )`

adds a record to collection

Parameters:

Doctrine_Record | $record: | record to be added
string | $key: | optional key for the record

API Tags:

Access: | public

[ Top ]
contains [line 276]

`boolean contains( mixed $key )`

contains whether or not this collection contains a specified element

Parameters:

mixed | $key: | the key of the element

API Tags:

Access: | public

[ Top ]
count [line 356]

`integer count( )`

count this class implements interface countable returns the number of records in this collection

API Tags:

Access: | public

Implementation of:

Countable::count

[ Top ]
delete [line 645]

`Doctrine_Collection delete( [Doctrine_Connection $conn = null] )`

delete

single shot delete deletes all records from this collection and uses only one database query to perform this operation

Parameters:

Doctrine_Connection | $conn: |

API Tags:

Access: | public

[ Top ]
get [line 301]

`Doctrine_Record get( mixed $key )`

get returns a record for given key

There are two special cases:

1. if null is given as a key a new record is created and attached

at the end of the collection

2. if given key does not exist, then a new record is create and attached to the given key

Collection also maps referential information to newly created records

Parameters:

mixed | $key: | the key of the element

API Tags:

Return: | return a specified record
Access: | public

[ Top ]
getData [line 192]

`array getData( )`

getData returns all the records as an array

API Tags:

Access: | public

[ Top ]
getDeleteDiff [line 603]

`void getDeleteDiff( )`

API Tags:

Access: | public

[ Top ]
getFirst [line 202]

`mixed getFirst( )`

getFirst returns the first record in the collection

API Tags:

Access: | public

[ Top ]
getInsertDiff [line 607]

`void getInsertDiff( )`

API Tags:

Access: | public

[ Top ]
getIterator [line 668]

`object ArrayIterator getIterator( )`

getIterator

API Tags:

Access: | public

Implementation of:

IteratorAggregate::getIterator

Redefined in descendants as:

- Doctrine_Collection_Offset::getIterator()

[ Top ]
getKeyColumn [line 182]

`string getKeyColumn( )`

getKeyColumn returns the name of the key column

API Tags:

Access: | public

[ Top ]
getKeys [line 345]

`array getKeys( )`

returns all keys

API Tags:

Access: | public

[ Top ]
getLast [line 212]

`mixed getLast( )`

getLast returns the last record in the collection

API Tags:

Access: | public

[ Top ]
getNormalIterator [line 530]

`Doctrine_Iterator_Normal getNormalIterator( )`

getNormalIterator returns normal iterator - an iterator that will not expand this collection

API Tags:

Access: | public

[ Top ]
getPrimaryKeys [line 327]

`array getPrimaryKeys( )`

API Tags:

Return: | an array containing all primary keys
Access: | public

[ Top ]
getReference [line 251]

`mixed getReference( )`

getReference

API Tags:

Access: | public

[ Top ]
getSnapshot [line 559]

`array getSnapshot( )`

getSnapshot returns the data of the last snapshot

API Tags:

Return: | returns the data in last snapshot
Access: | public

[ Top ]
getTable [line 104]

`Doctrine_Table getTable( )`

getTable returns the table this collection belongs to

API Tags:

Access: | public

[ Top ]
loadRelated [line 427]

`boolean loadRelated( [mixed $name = null] )`

loadRelated

Parameters:

mixed | $name: |

API Tags:

Access: | public

[ Top ]
populateRelated [line 473]

`void populateRelated( string $name, Doctrine_Collection $coll )`

populateRelated

Parameters:

string | $name: |
Doctrine_Collection | $coll: |

API Tags:

Access: | public

[ Top ]
processDiff [line 575]

`Doctrine_Collection processDiff( )`

processDiff processes the difference of the last snapshot and the current data

an example: Snapshot with the objects 1, 2 and 4 Current data with objects 2, 3 and 5

The process would remove object 4

API Tags:

Access: | public

[ Top ]
remove [line 262]

`boolean remove( mixed $key )`

remove removes a specified collection element

Parameters:

mixed | $key: |

API Tags:

Access: | public

[ Top ]
save [line 619]

`Doctrine_Collection save( [Doctrine_Connection $conn = null] )`

save saves all records of this collection and processes the difference of the last snapshot and the current data

Parameters:

Doctrine_Connection | $conn: | optional connection parameter

API Tags:

Access: | public

[ Top ]
search [line 280]

`void search( Doctrine_Record $record )`

Parameters:

Doctrine_Record | $record: |

API Tags:

Access: | public

[ Top ]
serialize [line 123]

`array serialize( )`

this method is automatically called when this Doctrine_Collection is serialized

API Tags:

Access: | public

Implementation of:

Serializable::serialize

[ Top ]
set [line 366]

`void set( integer $key, Doctrine_Record $record )`

set

Parameters:

integer | $key: |
Doctrine_Record | $record: |

API Tags:

Access: | public

[ Top ]
setData [line 114]

`Doctrine_Collection setData( $data )`

setData

Parameters:

array | $data: |

API Tags:

Access: | public

[ Top ]
setKeyColumn [line 170]

`Doctrine_Collection setKeyColumn( string $column )`

setKeyColumn sets the key column for this collection

Parameters:

string | $column: |

API Tags:

Access: | public

[ Top ]
setReference [line 222]

`void setReference( Doctrine_Record $record, Doctrine_Relation $relation )`

setReference sets a reference pointer

Parameters:

Doctrine_Record | $record: |
Doctrine_Relation | $relation: |

API Tags:

Access: | public

[ Top ]
takeSnapshot [line 547]

`Doctrine_Collection takeSnapshot( )`

takeSnapshot takes a snapshot from this collection

snapshots are used for diff processing, for example when a fetched collection has three elements, then two of those are being removed the diff would contain one element

Doctrine_Collection::save() attaches the diff with the help of last snapshot.

API Tags:

Access: | public

[ Top ]
toArray [line 589]

`void toArray( [boolean $deep = false] )`

toArray Mimics the result of a $query->execute(array(), Doctrine::FETCH_ARRAY);

Parameters:

boolean | $deep: |

API Tags:

Access: | public

[ Top ]
unserialize [line 144]

`void unserialize( $serialized )`

unseralize this method is automatically called everytime a Doctrine_Collection object is unserialized

Parameters:

| $serialized: |

API Tags:

Access: | public

Implementation of:

Serializable::unserialize

[ Top ]
__toString [line 676]

`void __toString( )`

returns a string representation of this object

API Tags:

Access: | public

[ Top ]