Documentation

Mage_Catalog_Model_Resource_Category_Collection extends Mage_Catalog_Model_Resource_Collection_Abstract
in package

Category resource collection

Table of Contents

Constants

SORT_ORDER_ASC  : mixed = 'ASC'
SORT_ORDER_DESC  : mixed = 'DESC'

Properties

$_conn  : AdapterInterface
$_bindParams  : array<string|int, mixed>
List of binded variables for select
$_cacheConf  : array<string|int, mixed>
Cache configuration array
$_cacheKey  : mixed
$_cacheLifetime  : mixed
$_cacheTags  : mixed
$_castToIntMap  : array<string|int, mixed>
Cast map for attribute order
$_curPage  : int|null
Current page number for items pager
$_data  : array<string|int, mixed>|null
All collection data array Used for getData method
$_entity  : Mage_Eav_Model_Entity_Abstract|null
Entity object to define collection's attributes
$_eventObject  : string
$_eventPrefix  : string
$_factory  : Mage_Catalog_Model_Factory
Catalog factory instance
$_fetchStmt  : StatementInterface|null
Database's statement for fetch item one by one
$_filterAttributes  : array<string|int, mixed>
Attributes to be filtered order sorted by
$_filters  : array<string|int, mixed>
Filters configuration
$_flags  : array<string|int, mixed>
Additional collection flags
$_idFieldName  : string
Identifier fild name for collection items
$_isCollectionLoaded  : bool
Loading state flag
$_isFiltersRendered  : bool
Filter rendered flag
$_isOrdersRendered  : bool
Whether orders are rendered
$_itemObjectClass  : string
Item object class name
$_items  : array<string|int, mixed>
Collection items
$_itemsById  : array<string|int, mixed>
Array of items with item id key
$_joinAttributes  : array<string|int, mixed>
Joined attributes
$_joinEntities  : array<string|int, mixed>
Joined entities
$_joinFields  : array<string|int, mixed>
Joined fields data
$_loadWithProductCount  : bool
Load with product count flag
$_map  : array<string|int, mixed>|null
Fields map for correlation names & real selected fields
$_orders  : array<string|int, mixed>
Order configuration
$_pageSize  : int|false|null
Pager page size
$_productStoreId  : int|null
Store id, that we should count products on
$_productTable  : string
Name of product table
$_productWebsiteTable  : string
Name of product website table
$_select  : Select
Select oblect
$_selectAttributes  : array<string|int, mixed>
Attributes to be fetched for objects in collection
$_selectEntityTypes  : array<string|int, mixed>
Entity types to be fetched for objects in collection
$_staticFields  : array<string|int, mixed>
Entity static fields
$_storeId  : int|null
Current scope (store Id)
$_totalRecords  : int|null
Total items number
$_useAnalyticFunction  : bool
Use analytic function flag If true - allows to prepare final select with analytic functions

Methods

__clone()  : void
Magic clone function
__construct()  : mixed
Initialize factory
_loadAttributes()  : $this
Load attributes into loaded entities
_loadEntities()  : $this
Load entities records into items
_prepareSelect()  : string
Prepare select for load
addAttributeToFilter()  : $this
Add attribute filter to collection
addAttributeToSelect()  : $this
Add attribute to entities in collection
addAttributeToSort()  : $this
Add attribute to sort order
addBindParam()  : $this
Add variable to bind list
addEntityTypeToSelect()  : $this
addExpressionAttributeToSelect()  : $this
Add attribute expression (SUM, COUNT, etc)
addFieldToFilter()  : $this
Wrapper for compatibility with \Maho\Data\Collection\Db
addFilter()  : $this
Add collection filter
addFilterToMap()  : $this
Add filter to Map
addIdFilter()  : $this
Add Id filter
addIsActiveFilter()  : $this
Add active category filter
addItem()  : $this
Add an object to the collection
addLevelFilter()  : $this
Add category level filter
addNameToResult()  : $this
Add name attribute to result
addOrder()  : $this
self::setOrder() alias
addOrderField()  : $this
Add order field
addParentPathFilter()  : $this
Add filter by path to collection
addPathFilter()  : $this
Add category path filter
addPathsFilter()  : $this
Add category path filter
addRootLevelFilter()  : $this
Add root category filter
addStaticField()  : $this
Add field to static
addStoreFilter()  : $this
Add store filter
addUrlRewriteToResult()  : $this
Add url rewrite rules to collection
clear()  : $this
Clear collection
count()  : int
Retrieve count of collection loaded items
delete()  : mixed
Delete all the entities in the collection
distinct()  : $this
Set select distinct
each()  : void
exportToArray()  : array<string|int, mixed>
Get collection data as a 2D array
fetchItem()  : DataObject|bool
Returns a collection item that corresponds to the fetched row and moves the internal data pointer ahead
getAllIds()  : array<string|int, mixed>
Retrieve all ids for collection
getAttribute()  : Mage_Eav_Model_Entity_Attribute_Abstract
Retrieve entity attribute
getCacheKey()  : string
getCacheLifetime()  : int
getCacheTags()  : array<string|int, mixed>
getColumnValues()  : array<string|int, mixed>
Retrieve field values from all items
getConnection()  : AdapterInterface
Retrieve connection object
getCurPage()  : int
Get current collection page
getData()  : array<string|int, mixed>
Get all data array for collection
getDefaultStoreId()  : int
Retrieve default store id
getEntity()  : Mage_Eav_Model_Entity_Abstract
Get collection's entity object
getFilter()  : DataObject|array<string|int, mixed>|null
Search for a filter by specified field
getFirstItem()  : Mage_Catalog_Model_Category
Retrieve collection first item
getFlag()  : mixed
Retrieve Flag
getIdFieldName()  : string
Id field name getter
getItemByColumnValue()  : DataObject|null
Search first item by field value
getItemById()  : Mage_Catalog_Model_Category
Retrieve item by id
getItems()  : array<string|int, Mage_Catalog_Model_Category>
Retrieve collection items
getItemsByColumnValue()  : array<string|int, mixed>
Search all items by field value
getIterator()  : mixed
Implementation of IteratorAggregate::getIterator()
getLastItem()  : DataObject
Retrieve collection last item
getLastPageNumber()  : int
Retrieve collection last page number
getLoadedIds()  : mixed
Returns already loaded element ids
getNewEmptyItem()  : DataObject
Retrieve collection empty item
getPageSize()  : int
Retrieve collection page size
getProductStoreId()  : int
Get id of the store that we should count products on
getResource()  : Mage_Eav_Model_Entity_Abstract
Get resource instance
getRowIdFieldName()  : string
Retrieve row id field name
getSelect()  : Select
Get Select instance
getSelectCountSql()  : Select
Get SQL for get record count
getSelectSql()  : string|Select
Get sql select string or object
getSize()  : int
Get collection size
getStoreId()  : int
Return current store id
getTable()  : string
Retrieve table name
groupByAttribute()  : $this
Groups results by specified attribute
hasFlag()  : bool
Has Flag
importFromArray()  : $this
Import 2D array into collection as objects
initCache()  : $this
Initialize collection cache
isLoaded()  : bool
Retrieve collection loading status
isModuleEnabled()  : bool
joinAttribute()  : $this
Add attribute from joined entity to select
joinField()  : $this
Join regular table field and use an attribute as fk
joinTable()  : $this
Join a table
joinUrlRewrite()  : $this
Joins url rewrite rules to collection
load()  : $this
Load collection
loadData()  : $this
Load data
loadProductCount()  : $this
Load product count for specified items
printLogQuery()  : $this
Print and/or log query
removeAttributeToSelect()  : $this
Remove an attribute from selection list
removeItemByKey()  : $this
Remove item from collection by item key
resetData()  : $this
Reset loaded for collection data array
save()  : mixed
Save all the entities in the collection
setCacheKey()  : $this
setCacheTags()  : $this
setConnection()  : $this
Set database connection adapter
setCurPage()  : $this
Set current page
setDataToAll()  : $this
Setting data for all collection items
setEntity()  : $this
Set entity to use for attributes
setFlag()  : $this
Set Flag
setItemObjectClass()  : $this
Set collection item class name
setLoadProductCount()  : $this
Set flag for loading product count
setObject()  : $this
Set template object for the collection
setOrder()  : $this
Set sorting order $attribute can also be an array of attributes
setPage()  : $this
Set collection page start and records to show
setPageSize()  : $this
Set collection page size
setProductStoreId()  : $this
Set id of the store that we should count products on
setRowIdFieldName()  : $this
Set row id field name
setStore()  : $this
Set store scope
setStoreId()  : $this
Set store scope
toArray()  : array<string|int, mixed>
Retrieve array of attributes
toOptionArray()  : array<string|int, mixed>
toOptionHash()  : array<string|int, mixed>
toXml()  : string
Convert collection to XML
unshiftOrder()  : $this
Add select order to the beginning
walk()  : array<string|int, mixed>
Walk through the collection and run model method or external callback with optional arguments
_addAttributeJoin()  : $this
Add attribute value table to the join if it wasn't added previously
_addItem()  : $this
Add item that has no id to collection
_addLoadAttributesSelectValues()  : Select
_afterLoad()  : $this
After load method
_afterLoadData()  : $this
Process loaded collection data
_beforeLoad()  : $this
Before load action
_canUseCache()  : Mage_Core_Model_Cache|false
Check if cache can be used for collection data
_construct()  : mixed
Init collection and determine table names
_fetchAll()  : array<string|int, mixed>
Fetch collection data
_getAllIdsSelect()  : Select
Clone and reset collection
_getAttributeCodeByValueInfo()  : string
_getAttributeConditionSql()  : string
Get condition sql for the attribute
_getAttributeFieldName()  : string
Retrieve attribute field name by attribute code
_getAttributeTableAlias()  : string
Get alias for attribute value table
_getCacheTags()  : array<string|int, mixed>
Get cache tags list
_getConditionFieldName()  : string
_getConditionSql()  : string
Build SQL statement for condition
_getCurrentStoreId()  : int
Retrieves store_id from current store
_getItemId()  : mixed
Get collection item identifier
_getLoadAttributesSelect()  : Select
Retrieve attributes load select
_getMappedField()  : string
Try to get mapped field name for filter to collection
_getMapper()  : array<string|int, mixed>|bool|null
Retrieve mapper data
_getSelectCacheId()  : string
Get cache identifier base on select
_init()  : $this
Standard resource collection initialization
_initSelect()  : $this
Init select
_joinAttributeToSelect()  : Mage_Eav_Model_Entity_Collection_Abstract
Adding join statement to collection select instance
_loadCache()  : string|false
Load cached data for select
_loadProductCount()  : mixed
Load categories product count
_prepareOrderExpression()  : string|Expr
Retrieve attribute expression by specified column
_prepareStaticFields()  : $this
Prepare static entity fields
_renderFilters()  : $this
Render sql select conditions
_renderFiltersBefore()  : mixed
Hook for operations before rendering filters
_renderLimit()  : $this
Render sql select limit
_renderOrders()  : $this
Treat "order by" items as attributes to sort
_reset()  : $this
Reset collection
_saveCache()  : $this
Save collection data to cache
_setIdFieldName()  : $this
Specify collection objects id field name
_setIsLoaded()  : $this
Set collection loading status flag
_setItemAttributeValue()  : $this
Initialize entity object property value
_toOptionArray()  : array<string|int, mixed>
Convert items array to array for select options
_toOptionHash()  : array<string|int, mixed>
Convert items array to hash for select options
_toOptionHashOptimized()  : array<string|int, mixed>
Convert items array to hash for select options unsing fetchItem method
_translateCondition()  : string
Build sql where condition part
getCache()  : Mage_Core_Model_Cache|null

Constants

SORT_ORDER_ASC

public mixed SORT_ORDER_ASC = 'ASC'

SORT_ORDER_DESC

public mixed SORT_ORDER_DESC = 'DESC'

Properties

$_bindParams

List of binded variables for select

protected array<string|int, mixed> $_bindParams = []

$_cacheConf

Cache configuration array

protected array<string|int, mixed> $_cacheConf = null

$_cacheLifetime

protected mixed $_cacheLifetime = 86400

$_castToIntMap

Cast map for attribute order

protected array<string|int, mixed> $_castToIntMap = ['validate-digits']

$_curPage

Current page number for items pager

protected int|null $_curPage = 1

$_data

All collection data array Used for getData method

protected array<string|int, mixed>|null $_data = null

$_eventObject

protected string $_eventObject = 'category_collection'

$_eventPrefix

protected string $_eventPrefix = 'catalog_category_collection'

$_fetchStmt

Database's statement for fetch item one by one

protected StatementInterface|null $_fetchStmt = null

$_filterAttributes

Attributes to be filtered order sorted by

protected array<string|int, mixed> $_filterAttributes = []

$_filters

Filters configuration

protected array<string|int, mixed> $_filters = []

$_flags

Additional collection flags

protected array<string|int, mixed> $_flags = []

$_idFieldName

Identifier fild name for collection items

protected string $_idFieldName

Can be used by collections with items without defined

$_isCollectionLoaded

Loading state flag

protected bool $_isCollectionLoaded

$_isFiltersRendered

Filter rendered flag

protected bool $_isFiltersRendered = false

$_isOrdersRendered

Whether orders are rendered

protected bool $_isOrdersRendered = false

$_itemObjectClass

Item object class name

protected string $_itemObjectClass = \Maho\DataObject::class

$_items

Collection items

protected array<string|int, mixed> $_items = []

$_itemsById

Array of items with item id key

protected array<string|int, mixed> $_itemsById = []

$_joinAttributes

Joined attributes

protected array<string|int, mixed> $_joinAttributes = []

$_joinEntities

Joined entities

protected array<string|int, mixed> $_joinEntities = []

$_joinFields

Joined fields data

protected array<string|int, mixed> $_joinFields = []

$_loadWithProductCount

Load with product count flag

protected bool $_loadWithProductCount = \false

$_map

Fields map for correlation names & real selected fields

protected array<string|int, mixed>|null $_map = null

$_orders

Order configuration

protected array<string|int, mixed> $_orders = []

$_pageSize

Pager page size

protected int|false|null $_pageSize = false

if page size is false, then we works with all items

$_productStoreId

Store id, that we should count products on

protected int|null $_productStoreId

$_productTable

Name of product table

protected string $_productTable

$_productWebsiteTable

Name of product website table

protected string $_productWebsiteTable

$_select

Select oblect

protected Select $_select

$_selectAttributes

Attributes to be fetched for objects in collection

protected array<string|int, mixed> $_selectAttributes = []

$_selectEntityTypes

Entity types to be fetched for objects in collection

protected array<string|int, mixed> $_selectEntityTypes = []

$_staticFields

Entity static fields

protected array<string|int, mixed> $_staticFields = []

$_storeId

Current scope (store Id)

protected int|null $_storeId

$_totalRecords

Total items number

protected int|null $_totalRecords

$_useAnalyticFunction

Use analytic function flag If true - allows to prepare final select with analytic functions

protected bool $_useAnalyticFunction = \false

Methods

__clone()

Magic clone function

public __clone() : void

Clone also Select

_loadAttributes()

Load attributes into loaded entities

public _loadAttributes([bool $printQuery = false ][, bool $logQuery = false ]) : $this
Parameters
$printQuery : bool = false
$logQuery : bool = false
Tags
throws
Mage_Core_Exception
Mage_Eav_Exception
Return values
$this

_loadEntities()

Load entities records into items

public _loadEntities([bool $printQuery = false ][, bool $logQuery = false ]) : $this
Parameters
$printQuery : bool = false
$logQuery : bool = false
Tags
throws
Mage_Core_Exception
Return values
$this

_prepareSelect()

Prepare select for load

public _prepareSelect(Select $select) : string
Parameters
$select : Select

OPTIONAL

Return values
string

addAttributeToFilter()

Add attribute filter to collection

public addAttributeToFilter(Mage_Eav_Model_Entity_Attribute_Interface|int|string|array<string|int, mixed> $attribute[, null|int|string|array<string|int, mixed> $condition = null ][, string $joinType = 'inner' ]) : $this

If $attribute is an array will add OR condition with following format: [ ['attribute'=>'firstname', 'like'=>'test%'], ['attribute'=>'lastname', 'like'=>'test%'], ]

Parameters
$attribute : Mage_Eav_Model_Entity_Attribute_Interface|int|string|array<string|int, mixed>
$condition : null|int|string|array<string|int, mixed> = null
$joinType : string = 'inner'
Tags
see
self::_getConditionSql

for $condition

Return values
$this

addAttributeToSelect()

Add attribute to entities in collection

public addAttributeToSelect(array<string|int, mixed>|string|int|Mage_Core_Model_Config_Element $attribute[, bool|string $joinType = false ]) : $this

If $attribute=='*' select all attributes

Parameters
$attribute : array<string|int, mixed>|string|int|Mage_Core_Model_Config_Element
$joinType : bool|string = false

flag for joining attribute

Return values
$this

addAttributeToSort()

Add attribute to sort order

public addAttributeToSort(string $attribute[, string $dir = self::SORT_ORDER_ASC ]) : $this
Parameters
$attribute : string
$dir : string = self::SORT_ORDER_ASC
Return values
$this

addBindParam()

Add variable to bind list

public addBindParam(string $name, mixed $value) : $this
Parameters
$name : string
$value : mixed
Return values
$this

addEntityTypeToSelect()

public addEntityTypeToSelect(string $entityType, string $prefix) : $this
Parameters
$entityType : string
$prefix : string
Return values
$this

addExpressionAttributeToSelect()

Add attribute expression (SUM, COUNT, etc)

public addExpressionAttributeToSelect(string $alias, string $expression, string|array<string|int, mixed> $attribute) : $this

Example: ('sub_total', 'SUM({{attribute}})', 'revenue') Example: ('sub_total', 'SUM({{revenue}})', 'revenue')

For some functions like SUM use groupByAttribute.

Parameters
$alias : string
$expression : string
$attribute : string|array<string|int, mixed>
Return values
$this

addFieldToFilter()

Wrapper for compatibility with \Maho\Data\Collection\Db

public addFieldToFilter(mixed $attribute[, mixed $condition = null ]) : $this
Parameters
$attribute : mixed
$condition : mixed = null
Attributes
#[Override]
Return values
$this

addFilter()

Add collection filter

public addFilter(string $field, string|array<string|int, mixed> $value[, string $type = 'and' ]) : $this
Parameters
$field : string
$value : string|array<string|int, mixed>
$type : string = 'and'

and|or|string

Return values
$this

addFilterToMap()

Add filter to Map

public addFilterToMap(string $filter, string $alias[, string $group = 'fields' ]) : $this
Parameters
$filter : string
$alias : string
$group : string = 'fields'

default 'fields'

Return values
$this

addIdFilter()

Add Id filter

public addIdFilter(int|string|array<string|int, mixed> $categoryIds) : $this
Parameters
$categoryIds : int|string|array<string|int, mixed>
Return values
$this

addIsActiveFilter()

Add active category filter

public addIsActiveFilter() : $this
Return values
$this

addItem()

Add an object to the collection

public addItem(DataObject $object) : $this
Parameters
$object : DataObject
Attributes
#[Override]
Return values
$this

addLevelFilter()

Add category level filter

public addLevelFilter(int|string $level) : $this
Parameters
$level : int|string
Return values
$this

addNameToResult()

Add name attribute to result

public addNameToResult() : $this
Return values
$this

addOrder()

self::setOrder() alias

public addOrder(string $field[, string $direction = self::SORT_ORDER_DESC ]) : $this
Parameters
$field : string
$direction : string = self::SORT_ORDER_DESC
Return values
$this

addOrderField()

Add order field

public addOrderField(string $field) : $this
Parameters
$field : string
Return values
$this

addParentPathFilter()

Add filter by path to collection

public addParentPathFilter(string $parent) : $this
Parameters
$parent : string
Return values
$this

addPathFilter()

Add category path filter

public addPathFilter(string $regexp) : $this
Parameters
$regexp : string
Return values
$this

addPathsFilter()

Add category path filter

public addPathsFilter(array<string|int, mixed>|string $paths) : $this
Parameters
$paths : array<string|int, mixed>|string
Return values
$this

addRootLevelFilter()

Add root category filter

public addRootLevelFilter() : $this
Return values
$this

addStaticField()

Add field to static

public addStaticField(string $field) : $this
Parameters
$field : string
Return values
$this

addStoreFilter()

Add store filter

public addStoreFilter() : $this
Return values
$this

addUrlRewriteToResult()

Add url rewrite rules to collection

public addUrlRewriteToResult() : $this
Return values
$this

clear()

Clear collection

public clear() : $this
Return values
$this

count()

Retrieve count of collection loaded items

public count() : int
Attributes
#[Override]
#[ReturnTypeWillChange]
Return values
int

delete()

Delete all the entities in the collection

public delete() : mixed
Tags
todo

make batch delete directly from collection

distinct()

Set select distinct

public distinct(bool $flag) : $this
Parameters
$flag : bool
Attributes
#[Override]
Return values
$this

each()

public each(callable $obj_method[, array<string|int, mixed> $args = [] ]) : void
Parameters
$obj_method : callable
$args : array<string|int, mixed> = []

exportToArray()

Get collection data as a 2D array

public exportToArray() : array<string|int, mixed>
Return values
array<string|int, mixed>

fetchItem()

Returns a collection item that corresponds to the fetched row and moves the internal data pointer ahead

public fetchItem() : DataObject|bool
Return values
DataObject|bool

getAllIds()

Retrieve all ids for collection

public getAllIds([int $limit = null ][, int $offset = null ]) : array<string|int, mixed>
Parameters
$limit : int = null
$offset : int = null
Attributes
#[Override]
Return values
array<string|int, mixed>

getCacheKey()

public getCacheKey() : string
Return values
string

getCacheLifetime()

public getCacheLifetime() : int
Return values
int

getCacheTags()

public getCacheTags() : array<string|int, mixed>
Return values
array<string|int, mixed>

getColumnValues()

Retrieve field values from all items

public getColumnValues(string $colName) : array<string|int, mixed>
Parameters
$colName : string
Return values
array<string|int, mixed>

getCurPage()

Get current collection page

public getCurPage([int $displacement = 0 ]) : int
Parameters
$displacement : int = 0
Return values
int

getData()

Get all data array for collection

public getData() : array<string|int, mixed>
Return values
array<string|int, mixed>

getDefaultStoreId()

Retrieve default store id

public getDefaultStoreId() : int
Return values
int

getFilter()

Search for a filter by specified field

public getFilter(string|array<string|int, mixed> $field) : DataObject|array<string|int, mixed>|null

Multiple filters can be matched if an array is specified:

  • 'foo' -- get the first filter with field name 'foo'
  • array('foo') -- get all filters with field name 'foo'
  • array('foo', 'bar') -- get all filters with field name 'foo' or 'bar'
  • array() -- get all filters
Parameters
$field : string|array<string|int, mixed>
Return values
DataObject|array<string|int, mixed>|null

getFlag()

Retrieve Flag

public getFlag(string $flag) : mixed
Parameters
$flag : string

getIdFieldName()

Id field name getter

public getIdFieldName() : string
Return values
string

getItemByColumnValue()

Search first item by field value

public getItemByColumnValue(string $column, mixed $value) : DataObject|null
Parameters
$column : string
$value : mixed
Return values
DataObject|null

getItemsByColumnValue()

Search all items by field value

public getItemsByColumnValue(string $column, mixed $value) : array<string|int, mixed>
Parameters
$column : string
$value : mixed
Return values
array<string|int, mixed>

getIterator()

Implementation of IteratorAggregate::getIterator()

public getIterator() : mixed
Attributes
#[Override]
#[ReturnTypeWillChange]

getLastPageNumber()

Retrieve collection last page number

public getLastPageNumber() : int
Return values
int

getLoadedIds()

Returns already loaded element ids

public getLoadedIds() : mixed

return array

getPageSize()

Retrieve collection page size

public getPageSize() : int
Return values
int

getProductStoreId()

Get id of the store that we should count products on

public getProductStoreId() : int
Return values
int

getRowIdFieldName()

Retrieve row id field name

public getRowIdFieldName() : string
Return values
string

getSelect()

Get Select instance

public getSelect() : Select
Return values
Select

getSelectCountSql()

Get SQL for get record count

public getSelectCountSql() : Select
Return values
Select

getSelectSql()

Get sql select string or object

public getSelectSql([bool $stringMode = false ]) : string|Select
Parameters
$stringMode : bool = false
Return values
string|Select

getSize()

Get collection size

public getSize() : int
Attributes
#[Override]
Return values
int

getStoreId()

Return current store id

public getStoreId() : int
Return values
int

getTable()

Retrieve table name

public getTable(string $table) : string
Parameters
$table : string
Return values
string

groupByAttribute()

Groups results by specified attribute

public groupByAttribute(string|array<string|int, mixed> $attribute) : $this
Parameters
$attribute : string|array<string|int, mixed>
Return values
$this

hasFlag()

Has Flag

public hasFlag(string $flag) : bool
Parameters
$flag : string
Return values
bool

importFromArray()

Import 2D array into collection as objects

public importFromArray(array<string|int, mixed> $arr) : $this

If the imported items already exist, update the data for existing objects

Parameters
$arr : array<string|int, mixed>
Return values
$this

initCache()

Initialize collection cache

public initCache(mixed $object, string $idPrefix, array<string|int, mixed> $tags) : $this
Parameters
$object : mixed
$idPrefix : string
$tags : array<string|int, mixed>
Return values
$this

isLoaded()

Retrieve collection loading status

public isLoaded() : bool
Return values
bool

isModuleEnabled()

public isModuleEnabled(string $moduleName[, string $helperAlias = 'core' ]) : bool
Parameters
$moduleName : string
$helperAlias : string = 'core'
Return values
bool

joinAttribute()

Add attribute from joined entity to select

public joinAttribute(string $alias, string|Mage_Eav_Model_Entity_Attribute_Abstract $attribute, string $bind[, string $filter = null ][, string $joinType = 'inner' ][, int $storeId = null ]) : $this

Examples: ('billing_firstname', 'customer_address/firstname', 'default_billing') ('billing_lastname', 'customer_address/lastname', 'default_billing') ('shipping_lastname', 'customer_address/lastname', 'default_billing') ('shipping_postalcode', 'customer_address/postalcode', 'default_shipping') ('shipping_city', $cityAttribute, 'default_shipping')

Developer is encouraged to use existing instances of attributes and entities After first use of string entity name it will be cached in the collection

Parameters
$alias : string

alias for the joined attribute

$attribute : string|Mage_Eav_Model_Entity_Attribute_Abstract
$bind : string

attribute of the main entity to link with joined $filter

$filter : string = null

primary key for the joined entity (entity_id default)

$joinType : string = 'inner'

inner|left

$storeId : int = null
Tags
throws
Mage_Core_Exception
Mage_Eav_Exception
todo

connect between joined attributes of same entity

Return values
$this

joinField()

Join regular table field and use an attribute as fk

public joinField(string $alias, string $table, string $field, string $bind[, string|array<string|int, mixed> $cond = null ][, string $joinType = 'inner' ]) : $this

Examples: ('country_name', 'directory/country_name', 'name', 'country_id=shipping_country', "{{table}}.language_code='en'", 'left')

Parameters
$alias : string

'country_name'

$table : string

'directory/country_name'

$field : string

'name'

$bind : string

'PK(country_id)=FK(shipping_country_id)'

$cond : string|array<string|int, mixed> = null

"{{table}}.language_code='en'" OR ['language_code'=>'en']

$joinType : string = 'inner'

'left'

Return values
$this

joinTable()

Join a table

public joinTable(array<string|int, mixed>|string|Expr $table, string $bind[, string|array<string|int, mixed> $fields = null ][, string|array<string|int, mixed>|null $cond = null ][, string $joinType = 'inner' ]) : $this
Parameters
$table : array<string|int, mixed>|string|Expr
$bind : string
$fields : string|array<string|int, mixed> = null
$cond : string|array<string|int, mixed>|null = null
$joinType : string = 'inner'
Return values
$this

joinUrlRewrite()

Joins url rewrite rules to collection

public joinUrlRewrite() : $this
Return values
$this

load()

Load collection

public load([bool $printQuery = false ][, bool $logQuery = false ]) : $this
Parameters
$printQuery : bool = false
$logQuery : bool = false
Attributes
#[Override]
Return values
$this

loadData()

Load data

public loadData([bool $printQuery = false ][, bool $logQuery = false ]) : $this
Parameters
$printQuery : bool = false
$logQuery : bool = false
Attributes
#[Override]
Return values
$this

loadProductCount()

Load product count for specified items

public loadProductCount(array<string|int, mixed> $items[, bool $countRegular = true ][, bool $countAnchor = true ]) : $this
Parameters
$items : array<string|int, mixed>
$countRegular : bool = true

get product count for regular (non-anchor) categories

$countAnchor : bool = true

get product count for anchor categories

Return values
$this

printLogQuery()

Print and/or log query

public printLogQuery([bool $printQuery = false ][, bool $logQuery = false ][, string $sql = null ]) : $this
Parameters
$printQuery : bool = false
$logQuery : bool = false
$sql : string = null
Return values
$this

removeAttributeToSelect()

Remove an attribute from selection list

public removeAttributeToSelect([string $attribute = null ]) : $this
Parameters
$attribute : string = null
Return values
$this

removeItemByKey()

Remove item from collection by item key

public removeItemByKey(mixed $key) : $this
Parameters
$key : mixed
Return values
$this

resetData()

Reset loaded for collection data array

public resetData() : $this
Return values
$this

save()

Save all the entities in the collection

public save() : mixed
Tags
todo

make batch save directly from collection

setCacheKey()

public setCacheKey(string $key) : $this
Parameters
$key : string
Return values
$this

setCacheTags()

public setCacheTags(array<string|int, mixed> $tags) : $this
Parameters
$tags : array<string|int, mixed>
Return values
$this

setCurPage()

Set current page

public setCurPage(int|null $page) : $this
Parameters
$page : int|null
Return values
$this

setDataToAll()

Setting data for all collection items

public setDataToAll(mixed $key[, mixed $value = null ]) : $this
Parameters
$key : mixed
$value : mixed = null
Return values
$this

setFlag()

Set Flag

public setFlag(string $flag[, mixed $value = null ]) : $this
Parameters
$flag : string
$value : mixed = null
Return values
$this

setItemObjectClass()

Set collection item class name

public setItemObjectClass(string $className) : $this
Parameters
$className : string
Return values
$this

setLoadProductCount()

Set flag for loading product count

public setLoadProductCount(bool $flag) : $this
Parameters
$flag : bool
Return values
$this

setObject()

Set template object for the collection

public setObject([DataObject $object = null ]) : $this
Parameters
$object : DataObject = null
Return values
$this

setOrder()

Set sorting order $attribute can also be an array of attributes

public setOrder(mixed $attribute[, mixed $dir = self::SORT_ORDER_ASC ]) : $this
Parameters
$attribute : mixed
$dir : mixed = self::SORT_ORDER_ASC
Attributes
#[Override]
Return values
$this

setPage()

Set collection page start and records to show

public setPage(int $pageNum, int $pageSize) : $this
Parameters
$pageNum : int
$pageSize : int
Return values
$this

setPageSize()

Set collection page size

public setPageSize(int|null $size) : $this
Parameters
$size : int|null
Return values
$this

setProductStoreId()

Set id of the store that we should count products on

public setProductStoreId(int $storeId) : $this
Parameters
$storeId : int
Return values
$this

setRowIdFieldName()

Set row id field name

public setRowIdFieldName(string $fieldName) : $this
Parameters
$fieldName : string
Return values
$this

toArray()

Retrieve array of attributes

public toArray([array<string|int, mixed> $arrAttributes = [] ]) : array<string|int, mixed>
Parameters
$arrAttributes : array<string|int, mixed> = []
Attributes
#[Override]
Return values
array<string|int, mixed>

toOptionArray()

public toOptionArray() : array<string|int, mixed>
Return values
array<string|int, mixed>

toOptionHash()

public toOptionHash() : array<string|int, mixed>
Return values
array<string|int, mixed>

toXml()

Convert collection to XML

public toXml() : string
Return values
string

unshiftOrder()

Add select order to the beginning

public unshiftOrder(string $field[, string $direction = self::SORT_ORDER_DESC ]) : $this
Parameters
$field : string
$direction : string = self::SORT_ORDER_DESC
Return values
$this

walk()

Walk through the collection and run model method or external callback with optional arguments

public walk(string|callable $callback[, array<string|int, mixed> $args = [] ]) : array<string|int, mixed>

Returns array with results of callback for each item

Parameters
$callback : string|callable
$args : array<string|int, mixed> = []
Return values
array<string|int, mixed>

_addAttributeJoin()

Add attribute value table to the join if it wasn't added previously

protected _addAttributeJoin(string $attributeCode[, bool|string $joinType = 'inner' ]) : $this
Parameters
$attributeCode : string
$joinType : bool|string = 'inner'

inner|left

Tags
throws
Mage_Eav_Exception
Return values
$this

_addLoadAttributesSelectValues()

protected _addLoadAttributesSelectValues(Select $select, string $table, string $type) : Select
Parameters
$select : Select
$table : string
$type : string
Attributes
#[Override]
Return values
Select

_afterLoad()

After load method

protected _afterLoad() : $this
Attributes
#[Override]
Return values
$this

_afterLoadData()

Process loaded collection data

protected _afterLoadData() : $this
Return values
$this

_beforeLoad()

Before load action

protected _beforeLoad() : $this
Attributes
#[Override]
Return values
$this

_construct()

Init collection and determine table names

protected _construct() : mixed
Attributes
#[Override]

_fetchAll()

Fetch collection data

protected _fetchAll(Select|string $select) : array<string|int, mixed>
Parameters
$select : Select|string
Return values
array<string|int, mixed>

_getAllIdsSelect()

Clone and reset collection

protected _getAllIdsSelect([int $limit = null ][, int $offset = null ]) : Select
Parameters
$limit : int = null
$offset : int = null
Tags
throws
Mage_Core_Exception
Return values
Select

_getAttributeCodeByValueInfo()

protected _getAttributeCodeByValueInfo(array<string, mixed> $valueInfo) : string
Parameters
$valueInfo : array<string, mixed>
Return values
string

_getAttributeConditionSql()

Get condition sql for the attribute

protected _getAttributeConditionSql(string $attribute, mixed $condition[, string $joinType = 'inner' ]) : string
Parameters
$attribute : string
$condition : mixed
$joinType : string = 'inner'
Tags
see
self::_getConditionSql
Return values
string

_getAttributeFieldName()

Retrieve attribute field name by attribute code

protected _getAttributeFieldName(string $attributeCode) : string
Parameters
$attributeCode : string
Return values
string

_getAttributeTableAlias()

Get alias for attribute value table

protected _getAttributeTableAlias(string $attributeCode) : string
Parameters
$attributeCode : string
Return values
string

_getCacheTags()

Get cache tags list

protected _getCacheTags() : array<string|int, mixed>
Return values
array<string|int, mixed>

_getConditionFieldName()

protected _getConditionFieldName(string $fieldName) : string
Parameters
$fieldName : string
Return values
string

_getConditionSql()

Build SQL statement for condition

protected _getConditionSql(string $fieldName, int|string|array<string|int, mixed> $condition) : string

If $condition integer or string - exact value will be filtered ('eq' condition)

If $condition is array - one of the following structures is expected:

  • array("from" => $fromValue, "to" => $toValue)
  • array("eq" => $equalValue)
  • array("neq" => $notEqualValue)
  • array("like" => $likeValue)
  • array("in" => array($inValues))
  • array("nin" => array($notInValues))
  • array("notnull" => $valueIsNotNull)
  • array("null" => $valueIsNull)
  • array("moreq" => $moreOrEqualValue)
  • array("gt" => $greaterValue)
  • array("lt" => $lessValue)
  • array("gteq" => $greaterOrEqualValue)
  • array("lteq" => $lessOrEqualValue)
  • array("finset" => $valueInSet)
  • array("regexp" => $regularExpression)
  • array("seq" => $stringValue)
  • array("sneq" => $stringValue)

If non matched - sequential array is expected and OR conditions will be built using above mentioned structure

Parameters
$fieldName : string

Field name must be already escaped with AdapterInterface::quoteIdentifier()

$condition : int|string|array<string|int, mixed>
Return values
string

_getCurrentStoreId()

Retrieves store_id from current store

protected _getCurrentStoreId() : int
Return values
int

_getItemId()

Get collection item identifier

protected _getItemId(DataObject $item) : mixed
Parameters
$item : DataObject
Attributes
#[Override]

_getLoadAttributesSelect()

Retrieve attributes load select

protected _getLoadAttributesSelect(string $table[, array<string|int, mixed>|int $attributeIds = [] ]) : Select
Parameters
$table : string
$attributeIds : array<string|int, mixed>|int = []
Tags
throws
Mage_Core_Exception
Attributes
#[Override]
Return values
Select

_getMappedField()

Try to get mapped field name for filter to collection

protected _getMappedField(string $field) : string
Parameters
$field : string
Return values
string

_getMapper()

Retrieve mapper data

protected _getMapper() : array<string|int, mixed>|bool|null
Return values
array<string|int, mixed>|bool|null

_getSelectCacheId()

Get cache identifier base on select

protected _getSelectCacheId(Select|string $select) : string
Parameters
$select : Select|string
Return values
string

_init()

Standard resource collection initialization

protected _init(string $model[, null|string $entityModel = null ]) : $this
Parameters
$model : string
$entityModel : null|string = null
Return values
$this

_initSelect()

Init select

protected _initSelect() : $this
Return values
$this

_joinAttributeToSelect()

Adding join statement to collection select instance

protected _joinAttributeToSelect(string $method, object $attribute, string $tableAlias, array<string|int, mixed> $condition, string $fieldCode, string $fieldAlias) : Mage_Eav_Model_Entity_Collection_Abstract
Parameters
$method : string
$attribute : object
$tableAlias : string
$condition : array<string|int, mixed>
$fieldCode : string
$fieldAlias : string
Attributes
#[Override]
Return values
Mage_Eav_Model_Entity_Collection_Abstract

_loadCache()

Load cached data for select

protected _loadCache(Select $select) : string|false
Parameters
$select : Select
Return values
string|false

_loadProductCount()

Load categories product count

protected _loadProductCount() : mixed

_prepareOrderExpression()

Retrieve attribute expression by specified column

protected _prepareOrderExpression(string $field) : string|Expr
Parameters
$field : string
Return values
string|Expr

_prepareStaticFields()

Prepare static entity fields

protected _prepareStaticFields() : $this
Return values
$this

_renderFilters()

Render sql select conditions

protected _renderFilters() : $this
Attributes
#[Override]
Return values
$this

_renderFiltersBefore()

Hook for operations before rendering filters

protected _renderFiltersBefore() : mixed

_renderLimit()

Render sql select limit

protected _renderLimit() : $this
Attributes
#[Override]
Return values
$this

_renderOrders()

Treat "order by" items as attributes to sort

protected _renderOrders() : $this
Attributes
#[Override]
Return values
$this

_reset()

Reset collection

protected _reset() : $this
Attributes
#[Override]
Return values
$this

_saveCache()

Save collection data to cache

protected _saveCache(array<string|int, mixed> $data, Select $select) : $this
Parameters
$data : array<string|int, mixed>
$select : Select
Return values
$this

_setIdFieldName()

Specify collection objects id field name

protected _setIdFieldName(string $fieldName) : $this
Parameters
$fieldName : string
Return values
$this

_setIsLoaded()

Set collection loading status flag

protected _setIsLoaded([bool $flag = true ]) : $this
Parameters
$flag : bool = true
Return values
$this

_setItemAttributeValue()

Initialize entity object property value

protected _setItemAttributeValue(array<string|int, mixed> $valueInfo) : $this
Parameters
$valueInfo : array<string|int, mixed>
Attributes
#[Override]
Return values
$this

_toOptionArray()

Convert items array to array for select options

protected _toOptionArray([string $valueField = 'id' ][, string $labelField = 'name' ][, array<string|int, mixed> $additional = [] ]) : array<string|int, mixed>

return items array array( $index => array( 'value' => mixed 'label' => mixed ) )

Parameters
$valueField : string = 'id'
$labelField : string = 'name'
$additional : array<string|int, mixed> = []
Return values
array<string|int, mixed>

_toOptionHash()

Convert items array to hash for select options

protected _toOptionHash([string $valueField = 'id' ][, string $labelField = 'name' ]) : array<string|int, mixed>

return items hash array($value => $label)

Parameters
$valueField : string = 'id'
$labelField : string = 'name'
Return values
array<string|int, mixed>

_toOptionHashOptimized()

Convert items array to hash for select options unsing fetchItem method

protected _toOptionHashOptimized([string $valueField = 'id' ][, string $labelField = 'name' ]) : array<string|int, mixed>

The difference between _toOptionHash() and this one is that this method fetch items one by one and does not load all collection items at once return items hash array($value => $label)

Parameters
$valueField : string = 'id'
$labelField : string = 'name'
Tags
see
fetchItem()
Return values
array<string|int, mixed>

_translateCondition()

Build sql where condition part

protected _translateCondition(string|array<string|int, mixed> $field, int|string|array<string|int, mixed> $condition) : string
Parameters
$field : string|array<string|int, mixed>
$condition : int|string|array<string|int, mixed>
Return values
string
On this page

Search results