public function UpdateServiceGroup($id, array $values) { $serviceIds = is_array($values['ws_service_id']) ? $values['ws_service_id'] : array($values['ws_service_id']); unset($values['ws_service_id']); $this->_model->getDefaultAdapter()->beginTransaction(); $this->_model->updateGroup($id, $values); $hasWsServiceModel = new WsServiceGroupHasWsService(); $hasWsServiceModel->deleteByGroup($id); foreach ($serviceIds as $serviceId) { $test = $hasWsServiceModel->createRow(array('ws_service_id' => $serviceId, 'ws_service_group_id' => $id))->save(); } try { $this->_model->getDefaultAdapter()->commit(); } catch (Exception $exc) { $this->_model->getDefaultAdapter()->rollBack(); throw new Logic_Exception("Cannot update service group data!", 0, $exc); } }