function testDelete() { $mapper = new ObjectMapper(); $object = new Object(); $object->__class_name = 'Object'; $this->db->insert('sys_class', array('id' => $class_id = 5, 'name' => $object->__class_name)); $this->db->insert('sys_object', array('oid' => $id1 = 1, 'class_id' => $class_id)); $this->db->insert('sys_object', array('oid' => $id2 = 2, 'class_id' => $class_id)); $object->set('oid', $id1); $object->set('class_id', $class_id); $mapper->delete($object); $rs =& $this->db->select('sys_class'); $classes = $rs->getArray(); $this->assertEqual(sizeof($classes), 1); $rs =& $this->db->select('sys_object'); $objects = $rs->getArray(); $this->assertEqual(sizeof($objects), 1); $this->assertEqual($objects[0]['oid'], $id2); $this->assertEqual($objects[0]['class_id'], $class_id); }
/** * Deletes an array of objects * @static * @param $idArray array - array of id objects */ function deleteArray($idArray) { // Coordinate transaction $icfDatabase = new IcfDatabase(); $conn = $icfDatabase->dbOpen(); $conn->StartTrans(); $objectMapper = new ObjectMapper(); $objectMapper->setConnection($conn); // Call business logic foreach ($idArray as $id) { $objectMapper->delete($id); } // Close transaction $conn->completeTrans(); $icfDatabase->dbClose($conn); }