Пример #1
0
 /**
  * Load data fixtures with the passed EntityManager
  *
  * @param ObjectManager $manager
  */
 function load(ObjectManager $manager)
 {
     return;
     $dataFile = __DIR__ . '/dump/Player.yml';
     if (!file_exists($dataFile)) {
         throw new RuntimeException(sprintf('No file exist with fixture data on "%s" path', $dataFile));
     }
     $dataList = Yaml::parse($dataFile);
     $pantheonRepo = $manager->getRepository('Erliz\\SkyforgeBundle\\Entity\\Pantheon');
     $roleRepo = $manager->getRepository('Erliz\\SkyforgeBundle\\Entity\\Role');
     $persistCounter = 0;
     foreach ($dataList as $item) {
         $player = new Player();
         $player->setId($item['id'])->setName($item['nick'])->setNick($item['name'])->setImg($item['img'])->setCreatedAt(new \DateTime($item['created_at']))->setModifiedAt(new \DateTime($item['modified_at']));
         if (!empty($item['pantheon'])) {
             $player->setPantheon($pantheonRepo->findOneBy(array('name' => $item['pantheon'])));
         }
         if (!empty($item['current_role'])) {
             $player->setCurrentRole($roleRepo->findOneBy(array('name' => $item['current_role'])));
         }
         $manager->persist($player);
         $persistCounter++;
         if ($persistCounter > 1000) {
             $manager->flush();
             $persistCounter = 0;
         }
     }
     $manager->flush();
 }