Come Fornire transazione In Magento?
-
16-10-2019 - |
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?
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