/** * {@inheritdoc} */ public function load(ObjectManager $manager) { /** @var EntityManager $manager */ $user = $this->getUser($manager); $businessUnit = $user->getOwner(); $organization = $user->getOrganization(); $locator = $this->container->get('file_locator'); $filePath = $locator->locate('@OroB2BProductBundle/Migrations/Data/Demo/ORM/data/products.csv'); if (is_array($filePath)) { $filePath = current($filePath); } $handler = fopen($filePath, 'r'); $headers = fgetcsv($handler, 1000, ','); $inventoryStatuses = $this->getAllEnumValuesByCode($manager, 'prod_inventory_status'); $visibilities = $this->getAllEnumValuesByCode($manager, 'prod_visibility'); $statuses = $this->getAllEnumValuesByCode($manager, 'prod_status'); while (($data = fgetcsv($handler, 1000, ',')) !== false) { $row = array_combine($headers, array_values($data)); $product = new Product(); $product->setOwner($businessUnit)->setOrganization($organization)->setSku($row['productCode'])->setInventoryStatus($inventoryStatuses[array_rand($inventoryStatuses)])->setVisibility($visibilities[array_rand($visibilities)])->setStatus($statuses[array_rand($statuses)]); $manager->persist($product); } fclose($handler); $manager->flush(); }
/** * @param ObjectManager $manager * @param string $sku * @return Product */ protected function createProduct(ObjectManager $manager, $sku) { $businessUnit = $manager->getRepository('OroOrganizationBundle:BusinessUnit')->getFirst(); $organization = $manager->getRepository('OroOrganizationBundle:Organization')->getFirst(); $product = new Product(); $product->setSku($sku); $product->setOwner($businessUnit); $product->setOrganization($organization); $manager->persist($product); $this->addReference($sku, $product); return $product; }
/** * {@inheritdoc} */ public function load(ObjectManager $manager) { /** @var EntityManager $manager */ $user = $this->getUser($manager); $businessUnit = $user->getOwner(); $organization = $user->getOrganization(); foreach ($this->products as $item) { $product = new Product(); $product->setOwner($businessUnit)->setOrganization($organization)->setSku($item['productCode']); $manager->persist($product); } $manager->flush(); }
/** * {@inheritdoc} */ public function load(ObjectManager $manager) { /** @var EntityManager $manager */ $user = $this->getUser($manager); $businessUnit = $user->getOwner(); $organization = $user->getOrganization(); foreach ($this->products as $item) { $product = new Product(); $product->setOwner($businessUnit)->setOrganization($organization)->setSku($item['productCode']); $name = new LocalizedFallbackValue(); $product->addName($name); $name->setString($item['productCode']); $manager->persist($product); $this->addReference($item['productCode'], $product); } $manager->flush(); }