Magento: Very Useful Collection Functions
There are different important functions that you can implement in your Collection object. The functions are present in Varien_Data_Collection_Db class. The class file is present in lib/Varien/Data/Collection/Db.php
Here are some of the functions that you can use in your collection object:-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | /** * Get Zend_Db_Select instance */ $collection->getSelect(); /** * Get collection size */ $collection->getSelect()->getSize(); /** * Get sql select string or object */ $collection->getSelect()->getSelectSql(); /** * Add select order */ $collection->getSelect()->setOrder($field, $direction); /** * Add field filter to collection * * If $attribute is an array will add OR condition with following format: * array( * array('attribute'=>'firstname', 'like'=>'test%'), * array('attribute'=>'lastname', 'like'=>'test%'), * ) */ $collection->getSelect()->setOrder($field, $condition); /** * Set select distinct */ $collection->getSelect()->distinct($flag); /** * Get all data array for collection */ $collection->getSelect()->getData(); /** * Reset loaded for collection data array */ $collection->getSelect()->resetData(); /** * Print and/or log query */ $collection->getSelect()->printLogQuery(true, true); |
More functions below:-
Varien_Data_Collection_Db class extends Varien_Data_Collection class. Here are some more functions present in Varien_Data_Collection class:-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | /** * Get current collection page */ $collection->getSelect()->getCurPage(); /** * Retrieve collection last page number */ $collection->getSelect()->getLastPageNumber(); /** * Retrieve collection page size */ $collection->getSelect()->getPageSize(); /** * Retrieve collection all items count */ $collection->getSelect()->getSize(); /** * Retrieve collection first item */ $collection->getSelect()->getFirstItem(); /** * Retrieve collection last item */ $collection->getSelect()->getLastItem(); /** * Retrieve collection items */ $collection->getSelect()->getItems(); /** * Clear collection */ $collection->getSelect()->clear(); |
You can also use the select functions as present in Zend_Db_Select class. This class file is present in lib/Zend/Db/Select.php
Hope this helps. Thanks.





Mukesh Chapagain is a graduate of Kathmandu University (Dhulikhel, Nepal) from where he holds a Masters degree in Computer Engineering. Mukesh is a passionate web developer who has keen interest in open source technologies, programming & blogging.