/** * {@inheritdoc} */ public function load(ObjectManager $manager) { $organization = $manager->getRepository('OroOrganizationBundle:Organization')->getFirst(); $locator = $this->container->get('file_locator'); $filePath = $locator->locate('@OroB2BCMSBundle/Migrations/Data/Demo/ORM/data/pages.csv'); if (is_array($filePath)) { $filePath = current($filePath); } $handler = fopen($filePath, 'r'); $headers = fgetcsv($handler, 5000, ','); while (($data = fgetcsv($handler, 5000, ',')) !== false) { $row = array_combine($headers, array_values($data)); $page = new Page(); $page->setTitle($row['title']); $page->setContent($row['content']); $page->setOrganization($organization); $page->setCurrentSlugUrl($row['slug']); if ($row['parentId'] > 0 && array_key_exists($row['parentId'], $this->pages)) { /** @var Page $parent */ $parent = $this->pages[$row['parentId']]; $parent->addChildPage($page); } $manager->persist($page); $this->pages[$row['id']] = $page; } fclose($handler); $manager->flush(); }