/** * {@inheritdoc} */ public function load(ObjectManager $manager) { $website = new TrackingWebsite(); $website->setName('website1')->setIdentifier(1)->setUrl('http://localhost'); $manager->persist($website); $campaignCodes = ['cmp1', 'cmp2', 'cmp3']; foreach ($campaignCodes as $code) { foreach ($this->data as $data) { $entity = new TrackingEvent(); $entity->setWebsite($website)->setCode($code); $data['loggedAt'] = new \DateTime($data['loggedAt'], new \DateTimeZone('UTC')); $excludeProperties = ['reference']; $propertyAccessor = PropertyAccess::createPropertyAccessor(); foreach ($data as $property => $value) { if (in_array($property, $excludeProperties)) { continue; } $propertyAccessor->setValue($entity, $property, $value); } $this->setReference($code . $data['reference'], $entity); $manager->persist($entity); } } $manager->flush(); }