コード例 #1
0
 /**
  * {@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();
 }