Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Varien/Data/Collection.php

addFilter($field, $value, $type = ‘and’) 
addItem(Varien_Object $item) 
clear() 
count() 
distinct($flag) 
each($obj_method, $args=array()) 
getAllIds() 
getCacheKey() 
getCacheLifetime() 
getCacheTags() 
getColumnValues($colName) 
getCurPage($displacement = 0) 
getFirstItem() 
getFlag($flag) 
getItemByColumnValue($column, $value) 
getItemById($idValue) 
getItems() 
getItemsByColumnValue($column, $value) 
getIterator() 
getLastItem() 
getLastPageNumber() 
getNewEmptyItem() 
getPageSize() 
getSize() 
hasFlag($flag) 
isLoaded() 
loadData($printQuery = false, $logQuery = false) 
load($printQuery = false, $logQuery = false) 
removeItemByKey($key) 
setCacheKey($key) 
setCacheTags($tags) 
setCurPage($page) 
setDataToAll($key, $value=null) 
setFlag($flag, $value = null) 
setOrder($field, $direction = self::SORT_ORDER_DESC) 
setPageSize($size) 
toArray($arrRequiredFields = array()) 
toOptionArray() 
toOptionHash() 
toXml() 
walk($callback, array $args=array()) 

Varien/Data/Collection/Db.php

Inherits above methods for Varien_Data_Collection, and in addition (re)defines the following:

addBindParam($name, $value) 
addFieldToFilter($field, $condition=null) 
addOrder($field, $direction = self::SORT_ORDER_DESC) 
distinct($flag) 
getConnection() 
getData() 
getIdFieldName() 
getSelect() 
getSelectCountSql() 
getSize() 
initCache($object, $idPrefix, $tags) 
loadData($printQuery = false, $logQuery = false) 
load($printQuery = false, $logQuery = false) 
printLogQuery($printQuery = false, $logQuery = false, $sql = null) 
resetData() 
setConnection($conn) 
setOrder($field, $direction = self::SORT_ORDER_DESC) 
unshiftOrder($field, $direction = self::SORT_ORDER_DESC) 
Attribute CodeSQL EquivalentDescription
eq= 
neq!= 
likeLIKE 
nlikeNOT LIKE 
inIN () 
ninNOT IN () 
isIS 
notnullIS NOT NULL 
nullIS NULL 
moreq>= 
gt> 
lt< 
gteq>= 
lteq<= 
finsetFIND_IN_SET() 
from>=for use with dates
to<=for use with dates
date optional flag for use with from/to to specify that comparison value should first be converted to a date
datetime optional flag for use with from/to to specify that comparison value should first be converted to a datetime

If an array is passed but no attribute code specified, it will be interpreted as a group of OR conditions that will be processed in the same way.

If no attribute code is specified, it defaults to eq.

E.g.

Code Block
languagephp
linenumberstrue
collapsetrue
$collection->addAttributeToFilter('field_name', array(
    'in' => array(1, 2, 3),
    ));
 
$collection->addAttributeToFilter('date_field', array(
   'from' => '2000-09-10',
    ));
 
$collection->addAttributeToFilter('date_field', array(
    'from' => '10 September 2000',
    'to' => '11 September 2000',
    'date' => true, // specifies conversion of comparison values
    ));
$collection->addAttributeToFilter('field_name', array(
    'notnull' => true,
    ));
 
$collection->addAttributeToFilter('field_name', 1); // tests for equality
 
// Add OR condition:
$collection->addAttributeToFilter(array(
    array(
        'attribute' => 'field_name',
        'in'        => array(1, 2, 3),
        ),
    array(
        'attribute' => 'date_field',
        'from'      => '2000-09-10',
        ),
    ));

Mage/Eav/Model/Entity/Collection/Abstract.php

Inherits above methods for Varien_Data_Collection_Db, and in addition (re)defines the following:

addAttributeToFilter($attribute, $condition=null, $joinType=’inner’)adds WHERE clause on $attribute specified by $condition
addAttributeToSelect($attribute, $joinType=false)gets the value for $attribute in the SELECT clause;
specify * to get all attributes (i.e. to execute SELECT *)
addAttributeToSort($attribute, $dir=’asc’)adds ORDER BY clause on $attribute
addEntityTypeToSelect($entityType, $prefix)doesn’t seem to do anything - don’t use
addExpressionAttributeToSelect($alias, $expression, string|array $attribute)adds SQL expression $expression, using $alias, to SELECT clause (typically containing aggregate functions such as SUM()COUNT());
when $attribute specifies a single attribute as a string, $expression can reference the attribute as simply {{attribute}}, but when passing an array of attributes, each attribute must be referenced in $expression by the name of the specific attribute;
N.B. use with groupByAttribute() when including aggregate functions q.v.
addFieldToFilter($attribute, $condition=null)alias for addAttributeToFilter()
addItem(Varien_Object $object)adds an object to the collection
addStaticField($field)specifies $field as being static, i.e. as existing on the entity table itself, rather than in the EAV table
delete()deletes all entities in the collection
exportToArray()returns collection data as a 2D array
getAllIds($limit=null, $offset=null)returns array of all entity IDs selected by current WHERE clause (optionally specifying $limit and $offset)
getAllIdsSql()not recommended - don’t use
getAttribute($attributeCode)for specified $attributeCode, returnsMage_Eav_Model_Entity_Attribute_Abstract object of the entity object used by the collection (i.e. calls getAttribute($attributeCode)on the entity object and returns the result)
getEntity()returns Mage_Eav_Model_Entity_Abstract object used by collection for attributes
getLoadedIds()returns array of IDs of currently loaded entities
getResource()returns Mage_Core_Model_Resource_Abstract instance;
actually an alias for getEntity() q.v. (an entity is a special type of resource, that is, Mage_Eav_Model_Entity_Abstract extendsMage_Core_Model_Resource_Abstract)
getRowIdFieldName()returns field name of ID attribute for entities in the collection
getTable($table)alias for Mage::getSingleton(‘core/resource’)->getTableName($table)
groupByAttribute($attribute)adds $attribute to GROUP BY clause
importFromArray($arr)imports 2D array into collection as objects
joinAttribute($alias, Mage_Eav_Model_Entity_Attribute_Abstract|string $attribute, string $bind, string $filter=null, string $joinType=’inner’, $storeId=null)joins another entity and adds attribute from joined entity, using $alias, to SELECT clause;
$attribute can specify attribute object, or string in format[entity]/[attribute];
$bind specifies attribute of the main entity on which to make join;
$filter specifies primary key of the joined entity on which to make join (normally defaults to entity_id);
$joinType should be inner or left
joinField($alias, $table, $field, $bind, $cond=null, $joinType=’inner’)joins regular table field using an attribute as foreign key
joinTable($table, $bind, $fields=null, $cond=null, $joinType=’inner’)joins table $table
load($printQuery = false, $logQuery = false)runs query and load data into collection;
specify $printQuery as true to print SQL for debugging
removeAttributeToSelect($attribute=null)removes $attribute from SELECT clause;
specify null to remove all attributes
save()saves all entities in the collection
setEntity(string|object $entity)sets entity object (i.e. Mage_Eav_Model_Entity_Abstract) used by collection for attributes
setObject(Varien_Object $object=null)sets template object for the collection
setOrder(string| $attribute, $dir=’desc’)alias for addAttributeToSort() q.v., identical except that it can accept array of attributes, and default $dir is desc;
N.B. overrides parent function
setPage($pageNum, $pageSize)sets LIMIT clause by specifying page number (one-indexed) and number of records per page;
N.B. equivalent to calling setCurPage($pageNum) andsetPageSize($pageSize) q.q.v.
setRowIdFieldName($fieldName)returns field name of ID attribute for entities in the collection
toArray(array $arrAttributes=array())calls toArray($attAttributes) on each entity in collection, and returns result as array