Magento:遍历现有/新保存的对象或使用addCommitCallback?

Magento:遍历现有/新保存的对象或使用addCommitCallback?,magento,magento-1.6,Magento,Magento 1.6,我有一个关于magento 1.6的问题 我正在创建许多对象,调用一个方法并使用Mage_Core_Model_Resource_Transaction Model保存到数据库中 该方法现在需要对象的主键值,在将对象保存到数据库之前,主键值显然不可用 我可以在创建的对象保存到数据库后循环它们吗?相反,我是否需要使用事务的addCommitCallback方法 换言之,我可以做到: $collection = []; $transaction = Mage::getModel('core/reso

我有一个关于magento 1.6的问题

我正在创建许多对象,调用一个方法并使用Mage_Core_Model_Resource_Transaction Model保存到数据库中

该方法现在需要对象的主键值,在将对象保存到数据库之前,主键值显然不可用

我可以在创建的对象保存到数据库后循环它们吗?相反,我是否需要使用事务的addCommitCallback方法

换言之,我可以做到:

$collection = [];
$transaction = Mage::getModel('core/resource_transaction');
for ($i = 0; $i <= 10; $i++) {
    $obj = new ObjectFoo;
    $transaction->addObject($obj);
    $collection[] = $obj;
}
$transaction->save();
foreach($collection as $collected) {
    $this->doSomething($collected);
}

我在addCommitCallback中注意到的一点是,您不能为回调指定任何参数,这相当于。。。限制性。

是的,保存事务后,每个收集的项目都应包含id


谢谢,我很确定,但magento本身就是一条法律;)
$transaction->addCommitCallback(array($obj, 'doSomething'));