generateVendors(); foreach ($vendors as $vendor) { $orders = $this->generateOrdersForVendor($vendor); foreach ($orders as $order) { $this->generateItemsForOrder($order); } } $this->entityManager->flush(); } /** * @return FoodVendor[] */ public function generateVendors(int $amount = 10): array { $vendors = []; foreach (range(1, $amount) as $i) { $vendor = new FoodVendor; $vendor->setName('Food Vendor ' . $i); $this->entityManager->persist($vendor); $vendors[] = $vendor; } return $vendors; } /** * @return FoodOrder[] */ public function generateOrdersForVendor(FoodVendor $vendor, int $amount = 10): array { $orders = []; foreach (range(1, $amount) as $i) { $order = new FoodOrder; $order->setFoodVendor($vendor); if ($i % 2 === 0) { $order->close(); } $this->entityManager->persist($order); $orders[] = $order; } return $orders; } /** * @return OrderItem[] */ public function generateItemsForOrder(FoodOrder $order, int $amount = 10): array { $items = []; foreach (range(1, $amount) as $i) { $item = new OrderItem; $item->setName('Item ' . $i); $item->setFoodOrder($order); if ($i % 2 === 0) { $item->setExtras('Extra ' . $i); } $this->entityManager->persist($item); $items[] = $item; } return $items; } }