public function load(ObjectManager $manager) { $data = $this->container->get('ilioscore.dataloader.learningMaterial')->getAll(); foreach ($data as $arr) { switch ($arr['type']) { case 'citation': $entity = new CitationLearningMaterial(); break; case 'link': $entity = new LinkLearningMaterial(); break; case 'file': $entity = new FileLearningMaterial(); $entity->setCopyrightPermission($arr['copyrightPermission']); $entity->setCopyrightRationale($arr['copyrightRationale']); break; } $entity->setId($arr['id']); $entity->setTitle($arr['title']); $entity->setDescription($arr['description']); $entity->setOriginalAuthor($arr['originalAuthor']); $entity->setToken($arr['token']); $entity->setUserRole($this->getReference('learningMaterialUserRoles' . $arr['userRole'])); $entity->setStatus($this->getReference('learningMaterialStatus' . $arr['status'])); $entity->setOwningUser($this->getReference('users' . $arr['owningUser'])); $manager->persist($entity); $this->addReference('learningMaterials' . $arr['id'], $entity); } $manager->flush(); }