Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Compare_Item Class Reference

Inheritance diagram for Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Compare_Item:

Mage_Core_Model_Mysql4_Abstract Mage_Core_Model_Resource_Abstract

List of all members.

Public Member Functions

 loadByProduct (Mage_Catalog_Model_Product_Compare_Item $object, $product)
 getCount ($customerId, $visitorId)
 clean (Mage_Catalog_Model_Product_Compare_Item $object)

Protected Member Functions

 _construct ()


Detailed Description

Definition at line 35 of file Item.php.


Member Function Documentation

_construct (  )  [protected]

Initialize connection

Reimplemented from Mage_Core_Model_Resource_Abstract.

Definition at line 41 of file Item.php.

00042     {
00043         $this->_init('catalog/compare_item', 'catalog_compare_item_id');
00044     }

clean ( Mage_Catalog_Model_Product_Compare_Item object  ) 

Clean compare table

Parameters:
Mage_Catalog_Model_Product_Compare_Item $object
Returns:
Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Compare_Item

Definition at line 105 of file Item.php.

00106     {
00107         while (true) {
00108             $select = $this->_getReadAdapter()->select()
00109                 ->from(array('compare_table' => $this->getMainTable()), array('catalog_compare_item_id'))
00110                 ->joinLeft(
00111                     array('visitor_table' => $this->getTable('log/visitor')),
00112                     '`visitor_table`.`visitor_id`=`compare_table`.`visitor_id`',
00113                     array())
00114                 ->where('compare_table.visitor_id>?',0)
00115                 ->where('`visitor_table`.`visitor_id` IS NULL')
00116                 ->limit(1000);
00117             $itemIds = $this->_getReadAdapter()->fetchCol($select);
00118 
00119             if (!$itemIds) {
00120                 break;
00121             }
00122 
00123             $this->_getWriteAdapter()->delete(
00124                 $this->getMainTable(),
00125                 $this->_getWriteAdapter()->quoteInto('catalog_compare_item_id IN(?)', $itemIds)
00126             );
00127         }
00128 
00129         return $this;
00130     }

getCount ( customerId,
visitorId 
)

Resource retrieve count compare items

Parameters:
int $customerId
int $visitorId
Returns:
int

Definition at line 89 of file Item.php.

00090     {
00091         $select = $this->_getReadAdapter()->select()->from($this->getMainTable(), 'COUNT(*)')
00092             ->where('visitor_id=?',  $visitorId);
00093         if ($customerId) {
00094             $select->where('customer_id=?', $customerId);
00095         }
00096         return $this->_getReadAdapter()->fetchOne($select);
00097     }

loadByProduct ( Mage_Catalog_Model_Product_Compare_Item object,
product 
)

Load object by product

Parameters:
Mage_Core_Model_Abstract $object
mixed $product
Returns:
bool

Definition at line 53 of file Item.php.

00054     {
00055         $read = $this->_getReadAdapter();
00056         if ($product instanceof Mage_Catalog_Model_Product) {
00057             $productId = $product->getId();
00058         }
00059         else {
00060             $productId = (int) $product;
00061         }
00062 
00063         $select = $read->select()->from($this->getMainTable())
00064             ->where('product_id=?',  $productId)
00065             ->where('visitor_id=?',  $object->getVisitorId());
00066         if ($object->getCustomerId()) {
00067             $select->where('customer_id=?', $object->getCustomerId());
00068         }
00069 
00070         $data = $read->fetchRow($select);
00071 
00072         if (!$data) {
00073             return false;
00074         }
00075 
00076         $object->setData($data);
00077 
00078         $this->_afterLoad($object);
00079         return true;
00080     }


The documentation for this class was generated from the following file:

Generated on Sat Jul 4 17:23:44 2009 for Magento by  doxygen 1.5.8