public function updateCampaign($data) { try { $ids = $data['id']; foreach ($ids as $id) { $parameters = $this->_generateDataToSql($id, $data); $campaign = CampaignManage::find($id); $columns = array_intersect_key($parameters, array_flip($campaign->getFillableColumns())); if (!empty($columns)) { $campaign->update($columns); } $this->_addRelation($parameters, $campaign); } if (isset($data['new_id']) && count($data['new_id']) > 0) { $ids = $data['new_id']; foreach ($ids as $id) { $parameters = $this->_generateNewDataToSql($id, $data); $campaigns = new CampaignManage(); $campaigns->platform_id = $parameters['platform_id']; $campaigns->campaign_id = $data['campaign_id']; $campaigns->save(); $this->_addRelation($parameters, $campaigns); } } return true; } catch (\Exception $e) { throw $e; } }