/** * Run the database seeds. * * @return void */ public function run() { DB::table('campaign_manage')->truncate(); DB::table('campaign_manage_country')->truncate(); DB::table('campaign_manage_date')->truncate(); DB::table('campaign_manage_time')->truncate(); $campaigns = json_decode(File::get('database/migrations/jsondata/campaigns.json')); $default_parameters = array(); $default_parameters['countries'] = 10000; $default_parameters['dates'] = 1000; $default_parameters['hours'] = 100; foreach ($campaigns as $campaign) { $campaign = CampaignManage::create(array('id' => '', 'campaign_id' => $campaign->id, 'platform_id' => 1)); $relationships = array_intersect_key($default_parameters, array_flip(CampaignManage::$relationshipsAllowedToUpdate)); if (!empty($relationships)) { foreach ($relationships as $relationshipType => $relationshipValue) { if (!empty($relationshipValue)) { if (!is_array($relationshipValue)) { $relationshipValue = explode(',', $relationshipValue); } $campaign->{$relationshipType}()->sync($relationshipValue); } } } } }
public function readCampaign($parameters) { try { $campaigns = CampaignManage::findBy('campaign_id', $parameters['campaigns']); $campaigns_details = array(); foreach ($campaigns as $campaign) { $campaign_manage = $this->_getFactory()->newModelCampaignManage(); $campaign_manage->setCampaignManageId($campaign->id); $campaign_manage->setPlatformId($campaign->platform_id); $campaign_manage->setCampaignId($campaign->campaign_id); $countries = CampaignManageCountry::findBy('campaign_manage_id', $campaign_manage->getCampaignManageId()); $countries_collection = array(); foreach ($countries as $country) { $campaign_manage_country = $this->_getFactory()->newModelCampaignManageCountry(); $campaign_manage_country->setCountryId($country->country_id); $campaign_manage_country->setCampaignManageId($country->campaign_manage_id); $countries_collection[] = $campaign_manage_country; } $dates = CampaignManageDate::findBy('campaign_manage_id', $campaign_manage->getCampaignManageId()); $dates_collection = array(); foreach ($dates as $date) { $campaign_manage_date = $this->_getFactory()->newModelCampaignManageDate(); $campaign_manage_date->setDateId($date->date_id); $campaign_manage_date->setCampaignManageId($date->campaign_manage_id); $dates_collection[] = $campaign_manage_date; } $times = CampaignManageTime::findBy('campaign_manage_id', $campaign_manage->getCampaignManageId()); $times_collection = array(); foreach ($times as $time) { $campaign_manage_time = $this->_getFactory()->newModelCampaignManageTime(); $campaign_manage_time->setTimeId($time->time_id); $campaign_manage_time->setCampaignManageId($time->campaign_manage_id); $times_collection[] = $campaign_manage_time; } $campaigns_details[] = array('campaign_manage' => $campaign_manage, 'countries_collection' => $countries_collection, 'dates_collection' => $dates_collection, 'times_collection' => $times_collection); } return $campaigns_details; } catch (\Exception $e) { throw $e; } }