If you must do this in one transaction, just call isDeleted(true) for those elements that you want to remove:
//Build out previous items, then for each which should be deleted... $page2->isDeleted(true); $transaction = Mage::getModel('core/resource_transaction'); $transaction->addObject($page1) $transaction->addObject($page2) //$transaction->addObject(...) etc... $transaction->save();
I think I should add an explanation (from Mage_Core_Model_Abstract::save() [link] ):
public function save() { if ($this->isDeleted()) { return $this->delete(); }
source share