Propel 2 API
Class

Propel\Runtime\Collection\ObjectCollection

class ObjectCollection extends Collection

Class for iterating over a list of Propel objects

Methods

array getData()

Get the data in the collection

from Collection
setData(array $data)

Set the data in the collection

from Collection
integer getPosition()

Gets the position of the internal pointer This position can be later used in seek()

from Collection
mixed getFirst()

Move the internal pointer to the beginning of the list And get the first element in the collection

from Collection
boolean isFirst()

Check whether the internal pointer is at the beginning of the list

from Collection
mixed getPrevious()

Move the internal pointer backward And get the previous element in the collection

from Collection
mixed getCurrent()

Get the current element in the collection

from Collection
mixed getNext()

Move the internal pointer forward And get the next element in the collection

from Collection
mixed getLast()

Move the internal pointer to the end of the list And get the last element in the collection

from Collection
boolean isLast()

Check whether the internal pointer is at the end of the list

from Collection
boolean isEmpty()

Check if the collection is empty

from Collection
boolean isOdd()

Check if the current index is an odd integer

from Collection
boolean isEven()

Check if the current index is an even integer

from Collection
mixed get(mixed $key)

Get an element from its key Alias for ArrayObject::offsetGet()

from Collection
mixed pop()

Pops an element off the end of the collection

from Collection
mixed shift()

Pops an element off the beginning of the collection

from Collection
integer prepend(mixed $value)

Prepend one or more elements to the beginning of the collection

from Collection
set(mixed $key, mixed $value)

Add an element to the collection with the given key Alias for ArrayObject::offsetSet()

from Collection
mixed remove(mixed $key)

Removes a specified collection element Alias for ArrayObject::offsetUnset()

from Collection
array clear()

Clears the collection

from Collection
boolean contains(mixed $element)

Whether or not this collection contains a specified element

mixed search(mixed $element)

Search an element in the collection

Collection diff(Collection $collection)

Returns an array of objects present in the collection that are not presents in the given collection.

from Collection
string serialize()

from Collection
unserialize(string $data)

from Collection
ArrayIterator getIterator()

Overrides ArrayObject::getIterator() to save the iterator object for internal use e.g.

from Collection
ArrayIterator getInternalIterator()

from Collection
clearIterator()

Clear the internal Iterator.

from Collection
setModel(string $model)

Set the model of the elements in the collection

from Collection
string getModel()

Get the model of the elements in the collection

from Collection
string getFullyQualifiedModel()

Get the model of the elements in the collection

from Collection
getTableMapClass()

from Collection
setFormatter(AbstractFormatter $formatter)

from Collection
AbstractFormatter getFormatter()

from Collection
ConnectionInterface getWriteConnection()

Get a write connection object for the database containing the elements of the collection

from Collection
BaseObject importFrom(mixed $parser, string $data)

Populate the current collection from a string, using a given parser format <code> $coll = new ObjectCollection(); $coll->setModel('Book'); $coll->importFrom('JSON', '{{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}}'); </code>

from Collection
string exportTo(mixed $parser, boolean $usePrefix = true, boolean $includeLazyLoadColumns = true)

Export the current collection to a string, using a given parser format <code> $books = BookQuery::create()->find(); echo $book->exportTo('JSON'); => {{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}}'); </code>

from Collection
array|string __call(string $name, mixed $params)

Catches calls to undefined methods.

from Collection
string __toString()

Returns a string representation of the current collection.

from Collection
__clone()

Creates clones of the containing data.

from Collection
Collection fromXML(string $data)

Populate the collection from an XML string

from Collection
Collection fromYAML(string $data)

Populate the collection from a YAML string

from Collection
Collection fromJSON(string $data)

Populate the collection from a JSON string

from Collection
Collection fromCSV(string $data)

Populate the collection from a CSV string

from Collection
string toXML(boolean $usePrefix, boolean $includeLazyLoadColumns)

Export the collection to an XML string

from Collection
string toYAML(boolean $usePrefix, boolean $includeLazyLoadColumns)

Export the collection to a YAML string

from Collection
string toJSON(boolean $usePrefix, boolean $includeLazyLoadColumns)

Export the collection to a JSON string

from Collection
string toCSV(boolean $usePrefix, boolean $includeLazyLoadColumns)

Export the collection to a CSV string

from Collection
save(ConnectionInterface $con = null)

Save all the elements in the collection

delete(ConnectionInterface $con = null)

Delete all the elements in the collection

array getPrimaryKeys(boolean $usePrefix = true)

Get an array of the primary keys of all the objects in the collection

fromArray(array $arr)

Populates the collection from an array Each object is populated from an array and the result is stored Does not empty the collection before adding the data from the array

array toArray(string $keyColumn = null, boolean $usePrefix = false, string $keyType = TableMap::TYPE_PHPNAME, boolean $includeLazyLoadColumns = true, array $alreadyDumpedObjects = array())

Get an array representation of the collection Each object is turned into an array and the result is returned

array getArrayCopy(string $keyColumn = null, boolean $usePrefix = false)

Get an array representation of the collection

array toKeyValue(string $keyColumn = 'PrimaryKey', string $valueColumn = null)

Get an associative array representation of the collection The first parameter specifies the column to be used for the key, And the second for the value.

array toKeyIndex(string $keyColumn = 'PrimaryKey')

Get an associative array representation of the collection.

ObjectCollection populateRelation(string $relation, Criteria $criteria = null, ConnectionInterface $con = null)

Makes an additional query to populate the objects related to the collection objects by a certain relation

Details

in Collection at line 70
public array getData()

Get the data in the collection

Return Value

array

in Collection at line 80
public setData(array $data)

Set the data in the collection

Parameters

array $data

in Collection at line 91
public integer getPosition()

Gets the position of the internal pointer This position can be later used in seek()

Return Value

integer

in Collection at line 102
public mixed getFirst()

Move the internal pointer to the beginning of the list And get the first element in the collection

Return Value

mixed

in Collection at line 114
public boolean isFirst()

Check whether the internal pointer is at the beginning of the list

Return Value

boolean

in Collection at line 125
public mixed getPrevious()

Move the internal pointer backward And get the previous element in the collection

Return Value

mixed

in Collection at line 141
public mixed getCurrent()

Get the current element in the collection

Return Value

mixed

in Collection at line 152
public mixed getNext()

Move the internal pointer forward And get the next element in the collection

Return Value

mixed

in Collection at line 165
public mixed getLast()

Move the internal pointer to the end of the list And get the last element in the collection

Return Value

mixed

in Collection at line 181
public boolean isLast()

Check whether the internal pointer is at the end of the list

Return Value

boolean

in Collection at line 198
public boolean isEmpty()

Check if the collection is empty

Return Value

boolean

in Collection at line 208
public boolean isOdd()

Check if the current index is an odd integer

Return Value

boolean

in Collection at line 218
public boolean isEven()

Check if the current index is an even integer

Return Value

boolean

in Collection at line 230
public mixed get(mixed $key)

Get an element from its key Alias for ArrayObject::offsetGet()

Parameters

mixed $key

Return Value

mixed The element

in Collection at line 244
public mixed pop()

Pops an element off the end of the collection

Return Value

mixed The popped element

in Collection at line 262
public mixed shift()

Pops an element off the beginning of the collection

Return Value

mixed The popped element

in Collection at line 279
public integer prepend(mixed $value)

Prepend one or more elements to the beginning of the collection

Parameters

mixed $value the element to prepend

Return Value

integer The number of new elements in the array

in Collection at line 297
public set(mixed $key, mixed $value)

Add an element to the collection with the given key Alias for ArrayObject::offsetSet()

Parameters

mixed $key
mixed $value

in Collection at line 309
public mixed remove(mixed $key)

Removes a specified collection element Alias for ArrayObject::offsetUnset()

Parameters

mixed $key

Return Value

mixed The removed element

in Collection at line 323
public array clear()

Clears the collection

Return Value

array The previous collection

at line 344
public boolean contains(mixed $element)

Whether or not this collection contains a specified element

Parameters

mixed $element

Return Value

boolean

Search an element in the collection

Parameters

mixed $element

Return Value

mixed Returns the key for the element if it is found in the collection, FALSE otherwise

in Collection at line 357
public Collection diff(Collection $collection)

Returns an array of objects present in the collection that are not presents in the given collection.

Parameters

Collection $collection A Propel collection.

Return Value

Collection An array of Propel objects from the collection that are not presents in the given collection.

in Collection at line 376
public string serialize()

Return Value

string

in Collection at line 389
public unserialize(string $data)

Parameters

string $data

in Collection at line 404
public ArrayIterator getIterator()

Overrides ArrayObject::getIterator() to save the iterator object for internal use e.g.

getNext(), isOdd(), etc.

Return Value

ArrayIterator

in Collection at line 414
public ArrayIterator getInternalIterator()

Return Value

ArrayIterator

in Collection at line 429
public clearIterator()

Clear the internal Iterator.

PHP 5.3 doesn't know how to free a Collection object if it has an attached
Iterator, so this must be done manually to avoid memory leaks.

See also

http://www.propelorm.org/ticket/1232

in Collection at line 441
public setModel(string $model)

Set the model of the elements in the collection

Parameters

string $model Name of the Propel object classes stored in the collection

in Collection at line 456
public string getModel()

Get the model of the elements in the collection

Return Value

string Name of the Propel object class stored in the collection

in Collection at line 466
public string getFullyQualifiedModel()

Get the model of the elements in the collection

Return Value

string Fully qualified Name of the Propel object class stored in the collection

in Collection at line 471
public getTableMapClass()

in Collection at line 485
public setFormatter(AbstractFormatter $formatter)

Parameters

AbstractFormatter $formatter

in Collection at line 493
public AbstractFormatter getFormatter()

Return Value

AbstractFormatter

in Collection at line 503
public ConnectionInterface getWriteConnection()

Get a write connection object for the database containing the elements of the collection

Return Value

ConnectionInterface A ConnectionInterface connection object

in Collection at line 523
public BaseObject importFrom(mixed $parser, string $data)

Populate the current collection from a string, using a given parser format <code> $coll = new ObjectCollection(); $coll->setModel('Book'); $coll->importFrom('JSON', '{{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}}'); </code>

Parameters

mixed $parser A AbstractParser instance, or a format name ('XML', 'YAML', 'JSON', 'CSV')
string $data The source data to import from

Return Value

BaseObject The current object, for fluid interface

in Collection at line 552
public string exportTo(mixed $parser, boolean $usePrefix = true, boolean $includeLazyLoadColumns = true)

Export the current collection to a string, using a given parser format <code> $books = BookQuery::create()->find(); echo $book->exportTo('JSON'); => {{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}}'); </code>

A OnDemandCollection cannot be exported. Any attempt will result in a PropelException being thrown.

Parameters

mixed $parser A AbstractParser instance, or a format name ('XML', 'YAML', 'JSON', 'CSV')
boolean $usePrefix (optional) If true, the returned element keys will be prefixed with the model class name ('Article_0', 'Article_1', etc). Defaults to TRUE. Not supported by ArrayCollection, as ArrayFormatter has already created the array used here with integers as keys.
boolean $includeLazyLoadColumns (optional) Whether to include lazy load(ed) columns. Defaults to TRUE. Not supported by ArrayCollection, as ArrayFormatter has already included lazy-load columns in the array used here.

Return Value

string The exported data

in Collection at line 572
public array|string __call(string $name, mixed $params)

Catches calls to undefined methods.

Provides magic import/export method support (fromXML()/toXML(), fromYAML()/toYAML(), etc.).
Allows to define default __call() behavior if you use a custom BaseObject

Parameters

string $name
mixed $params

Return Value

array|string

in Collection at line 596
public string __toString()

Returns a string representation of the current collection.

Based on the string representation of the underlying objects, defined in
the TableMap::DEFAULT_STRING_FORMAT constant

Return Value

string

in Collection at line 604
public __clone()

Creates clones of the containing data.

in Collection at line 39
Collection fromXML(string $data)

Populate the collection from an XML string

Parameters

string $data

Return Value

Collection

in Collection at line 39
Collection fromYAML(string $data)

Populate the collection from a YAML string

Parameters

string $data

Return Value

Collection

in Collection at line 39
Collection fromJSON(string $data)

Populate the collection from a JSON string

Parameters

string $data

Return Value

Collection

in Collection at line 39
Collection fromCSV(string $data)

Populate the collection from a CSV string

Parameters

string $data

Return Value

Collection

in Collection at line 39
string toXML(boolean $usePrefix, boolean $includeLazyLoadColumns)

Export the collection to an XML string

Parameters

boolean $usePrefix
boolean $includeLazyLoadColumns

Return Value

string

in Collection at line 39
string toYAML(boolean $usePrefix, boolean $includeLazyLoadColumns)

Export the collection to a YAML string

Parameters

boolean $usePrefix
boolean $includeLazyLoadColumns

Return Value

string

in Collection at line 39
string toJSON(boolean $usePrefix, boolean $includeLazyLoadColumns)

Export the collection to a JSON string

Parameters

boolean $usePrefix
boolean $includeLazyLoadColumns

Return Value

string

in Collection at line 39
string toCSV(boolean $usePrefix, boolean $includeLazyLoadColumns)

Export the collection to a CSV string

Parameters

boolean $usePrefix
boolean $includeLazyLoadColumns

Return Value

string

at line 36
public save(ConnectionInterface $con = null)

Save all the elements in the collection

Parameters

ConnectionInterface $con

at line 62
public delete(ConnectionInterface $con = null)

Delete all the elements in the collection

Parameters

ConnectionInterface $con

at line 89
public array getPrimaryKeys(boolean $usePrefix = true)

Get an array of the primary keys of all the objects in the collection

Parameters

boolean $usePrefix

Return Value

array The list of the primary keys of the collection

at line 109
public fromArray(array $arr)

Populates the collection from an array Each object is populated from an array and the result is stored Does not empty the collection before adding the data from the array

Parameters

array $arr

at line 154
public array toArray(string $keyColumn = null, boolean $usePrefix = false, string $keyType = TableMap::TYPE_PHPNAME, boolean $includeLazyLoadColumns = true, array $alreadyDumpedObjects = array())

Get an array representation of the collection Each object is turned into an array and the result is returned

Parameters

string $keyColumn If null, the returned array uses an incremental index. Otherwise, the array is indexed using the specified column
boolean $usePrefix If true, the returned array prefixes keys with the model class name ('Article_0', 'Article_1', etc).
string $keyType (optional) One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_STUDLYPHPNAME, TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. Defaults to TableMap::TYPE_PHPNAME.
boolean $includeLazyLoadColumns (optional) Whether to include lazy loaded columns. Defaults to TRUE.
array $alreadyDumpedObjects List of objects to skip to avoid recursion <code> $bookCollection->toArray(); array( 0 => array('Id' => 123, 'Title' => 'War And Peace'), 1 => array('Id' => 456, 'Title' => 'Don Juan'), ) $bookCollection->toArray('Id'); array( 123 => array('Id' => 123, 'Title' => 'War And Peace'), 456 => array('Id' => 456, 'Title' => 'Don Juan'), ) $bookCollection->toArray(null, true); array( 'Book_0' => array('Id' => 123, 'Title' => 'War And Peace'), 'Book_1' => array('Id' => 456, 'Title' => 'Don Juan'), ) </code>

Return Value

array

at line 197
public array getArrayCopy(string $keyColumn = null, boolean $usePrefix = false)

Get an array representation of the collection

Parameters

string $keyColumn If null, the returned array uses an incremental index. Otherwise, the array is indexed using the specified column
boolean $usePrefix If true, the returned array prefixes keys with the model class name ('Article_0', 'Article_1', etc). <code> $bookCollection->getArrayCopy(); array( 0 => $book0, 1 => $book1, ) $bookCollection->getArrayCopy('Id'); array( 123 => $book0, 456 => $book1, ) $bookCollection->getArrayCopy(null, true); array( 'Book_0' => $book0, 'Book_1' => $book1, ) </code>

Return Value

array

at line 227
public array toKeyValue(string $keyColumn = 'PrimaryKey', string $valueColumn = null)

Get an associative array representation of the collection The first parameter specifies the column to be used for the key, And the second for the value.

<code>
$res = $coll->toKeyValue('Id', 'Name');
</code>

Parameters

string $keyColumn
string $valueColumn

Return Value

array

at line 257
public array toKeyIndex(string $keyColumn = 'PrimaryKey')

Get an associative array representation of the collection.

The first parameter specifies the column to be used for the key.

<code>
$res = $userCollection->toKeyIndex('Name');

$res = array(
'peter' => class User #1 {$name => 'peter', ...},
'hans' => class User #2 {$name => 'hans', ...},
...
)
</code>

Parameters

string $keyColumn

Return Value

array

at line 278
public ObjectCollection populateRelation(string $relation, Criteria $criteria = null, ConnectionInterface $con = null)

Makes an additional query to populate the objects related to the collection objects by a certain relation

Parameters

string $relation Relation name (e.g. 'Book')
Criteria $criteria Optional Criteria object to filter the related object collection
ConnectionInterface $con Optional connection object

Return Value

ObjectCollection The list of related objects