Domanda

Quando si salva l'oggetto Object Model multipla allora voglio fornire transazione. Come posso ottenere in Magento?

Una qualsiasi Si prega di Guida Me?

È stato utile?

Soluzione

Spero ho capito bene la tua domanda.
Se si desidera salvare X gli oggetti in una volta e roll back tutti loro in caso qualcosa vada storto provare questo.

$transaction = Mage::getModel('core/resource_transaction');
$transaction->addObject($obj1);
$transaction->addObject($obj2);
...
$transaction->addObject($objX);

$transaction->save();

Ciò richiederà ->save() per ogni oggetto si è aggiunto utilizzando addObject ma tutto sarà fatto all'interno di una transazione.

Altri suggerimenti

Date un'occhiata per esempio in \Mage_Eav_Model_Entity_Abstract::saveAttribute

public function saveAttribute(Varien_Object $object, $attributeCode)
{
    // ...
    $adapter        = $this->_getWriteAdapter();
    // ...
    $adapter->beginTransaction();

    try {
        // ...
        $adapter->commit();
    } catch (Exception $e) {
        $adapter->rollback();
        throw $e;
    }

    return $this;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top