public function index_post() { $arrOptions['id'] = $this->input->post('id') ? $this->input->post('id') : 0; $arrOptions['userId'] = $this->input->post('userId') ? $this->input->post('userId') : ''; $arrOptions['publicationId'] = $this->input->post('publicationId') ? $this->input->post('publicationId') : ''; $arrOptions['donatedObjects'] = $this->input->post('donatedObjects') ? $this->input->post('donatedObjects') : ''; $arrOptions['processState'] = $this->input->post('processState') ? $this->input->post('processState') : ''; $objs = array(); $donatedObjects = $arrOptions['donatedObjects']; //$donatedObjectsList = CI_DonatedObject::setFromArray($objs); if ($arrOptions['id'] > 0) { $donation = CI_Donation::getById($arrOptions['id']); //quitar todos los obj y volver a insertarlo } else { $donation = new CI_Donation(); } $donation->setUserId($arrOptions['userId']); $donation->setPublicationId($arrOptions['publicationId']); $donation->setProcessState($arrOptions['processState']); $donation->setDonatedObjects($donatedObjects); if ($id = $donation->save()) { foreach ($donatedObjects as $donObject) { $donatedObject = new CI_DonatedObject(); $donatedObject->setDonationId($id); $donatedObject->setObjectId($donObject['objectId']); $donatedObject->setQuantity($donObject['quantity']); $donatedObject->save(); } $return['result'] = 'OK'; $myDonation = new stdClass(); $myDonation->id = $donation->getId(); /*$myDonation->userId = $donation->getUserId(); $myDonation->publicationId = $donation->getPublicationId(); $myDonation->donatedObjects = $donation->getDonatedObjects();*/ $return['data'] = $myDonation; } else { $return['result'] = 'NOOK'; } echo json_encode($return); }