faker = \Faker\Factory::create(); foreach (range(0, 20) as $vendorCount) { $this->createVendorAndMenuItems($manager); } $manager->flush(); } /** * @param MenuItem $menuItem * @param ObjectManager $manager * @return void */ public function addMenuItemAliases(MenuItem $menuItem, ObjectManager $manager): void { $menuItemAliasOne = new MenuItemAlias(); $menuItemAliasOne->setName($this->faker->word); $menuItem->addMenuItemAlias($menuItemAliasOne); $manager->persist($menuItemAliasOne); $menuItemAliasTwo = new MenuItemAlias(); $menuItemAliasTwo->setName($this->faker->word); $menuItem->addMenuItemAlias($menuItemAliasTwo); $manager->persist($menuItemAliasTwo); } /** * @param Vendor $vendor * @param ObjectManager $manager * @return void * @throws \Random\RandomException */ public function createMenuItem(Vendor $vendor, ObjectManager $manager): void { $menuItem = new MenuItem(); $menuItem->setVendor($vendor); $menuItem->setPrice(random_int(500, 2000)); $manager->persist($menuItem); $this->addMenuItemAliases($menuItem, $manager); } /** * @param ObjectManager $manager * @return void * @throws \Random\RandomException */ public function createVendorAndMenuItems(ObjectManager $manager): void { $vendor = new Vendor(); $vendor->setName($this->faker->name); $manager->persist($vendor); foreach (range(0, 10) as $itemCount) { $this->createMenuItem($vendor, $manager); } } }