/** * Retrieve select object for load object data * * @param string $field * @param mixed $value * @return Zend_Db_Select */ protected function _getLoadSelect($field, $value, $object) { $select = parent::_getLoadSelect($field, $value, $object); if ($storeIds = $object->getSharedStoreIds()) { $select->where('store_id IN (?)', $storeIds); } else { /** * For empty result */ $select->where('store_id<0'); } return $select; }
/** * Load quote data by identifier without store * * @param Mage_Sales_Model_Quote $quote * @param int $quoteId * @return Mage_Sales_Model_Mysql4_Quote */ public function loadByIdWithoutStore($quote, $quoteId) { $read = $this->_getReadAdapter(); if ($read) { $select = parent::_getLoadSelect('entity_id', $quoteId, $quote); $data = $read->fetchRow($select); if ($data) { $quote->setData($data); } } $this->_afterLoad($quote); return $this; }
/** * Save object data * * @param Mage_Core_Model_Abstract $object * @return Mage_Core_Model_Mysql4_Abstract */ public function save(Mage_Core_Model_Abstract $object) { if (!$object->getForceObjectSave()) { parent::save($object); } return $this; }
/** * Unserialize additional information after saving the object * * @param Mage_Core_Model_Abstract $payment */ protected function _afterSave(Mage_Core_Model_Abstract $payment) { $this->unserializeFields($payment); return parent::_afterSave($payment); }