DB_DataObjects - Duplication of many related records

From: Date: Tue, 27 Jan 2004 15:24:10 +0000
Subject: DB_DataObjects - Duplication of many related records
Groups: php.pear.general 
Request: Send a blank email to pear-general+get-10384@lists.php.net to get a copy of this message
Hi: I have an app that needs at times for many related rows to be duplicated with new foreign keys, etc... I have not tested this yet, and wanted some feedback on my methods. I am using MySQL and with "auto_increment"... Will auto_increment work here: <?php $getForm = new DataObjects_Form; $getForm->keypid = "$_REQUEST[id]"; $number_of_rows = $getForm->find(); $formData = get_object_vars($getForm); $newForm = new DataObjects_Form; $newForm->setFrom($formData); $newFormId = $newForm->insert(); //does the auto_increment take precedence here? $getSections = new DataObjects_Section; $getSections->keyfformid = "$_REQUEST[id]"; $number_of_rows = $getSections->find(); while ($getSections->fetch){ $sectionData = get_object_vars($getSections); //duplicate section with new keyfformid $newSection = new DataObjects_Section; $newSection->keyfformid = $newFormId; $newSection->setFrom($sectionData); $newSectionId = $newSection->insert(); //get and duplication form_fields and select_item $getFormField = new DataObjects_Form_field; $getFormField->keyfsectionid = $sectionData[keypid]; $number_of_rows = $getFormField->find(); while($getFormField->fetch()){ //pull all fields - duplicate, look for select_item rows and duplicate $formFieldData = get_object_vars($getFormField); $newFormField = new DataObjects_Form_field; $newFormField->keyfsectionid = $newSectionId; $newFormField->setFrom($formFieldData); $newFormFieldId = $newFormField->insert(); //look for select_item rows and duplicate $getSelectItem = new DataObjects_Select_item; $getSelectItem->keyffieldid = $formFieldData[keypid]; $number_of_rows = $getSelectItem->find(); while($getSelectItem->fetch()){ $selectItemData = get_object_vars($getSelectItem); $newSelectItem = new DataObjects_Select_item; $newSelectItem->keyffieldid = $newFormFieldId; $newSelectItem->setFrom($selectItemData); $newSelectItemId = $newSelectItem->insert(); } } } ?> Best Regards, David

« previous php.pear.general (#10384) next »