有用的Magento Collection函数

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:-

/**
* 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:-/**
* 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.

 

来自:http://blog.chapagain.com.np/magento-collection-functions/

你可能感兴趣的:(magento)