/** * {@inheritdoc} */ public function load(ObjectManager $manager) { $statuses = $manager->getRepository('OroB2BRFPBundle:RequestStatus')->findAll(); $organization = $manager->getRepository('OroOrganizationBundle:Organization')->getFirst(); $locator = $this->container->get('file_locator'); $filePath = $locator->locate('@OroB2BRFPBundle/Migrations/Data/Demo/ORM/data/requests.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)); $request = new Request(); $request->setFirstName($row['first_name']); $request->setLastName($row['last_name']); $request->setEmail($row['email']); $request->setPhone($row['phone']); $request->setCompany($row['company']); $request->setRole($row['role']); $request->setBody($row['body']); $status = $statuses[rand(0, count($statuses) - 1)]; $request->setStatus($status); $request->setOrganization($organization); $this->processRequestProducts($request, $manager); $manager->persist($request); } fclose($handler); $manager->flush(); }