/** * @param array $distribution * @param int $total * * @return ReturnItem */ protected function getItem($distribution = [10], $total = 10) { $orderItem = new OrderItem(); $orderItem->setQuantity($total); $testedItem = null; foreach ($distribution as $q) { $returnItem = new ReturnItem($orderItem); $returnItem->setQuantity($q); if ($testedItem) { $orderItem->getReturnItems()->add($returnItem); } else { $testedItem = $returnItem; } } return $testedItem; }
public function load(ObjectManager $manager) { $orders = $manager->getRepository('MarelloOrderBundle:Order')->findAll(); $i = 0; foreach ($orders as $order) { if (rand(0, 3) !== 0) { if (!$this->hasReference('marello_order_unreturned')) { $this->setReference('marello_order_unreturned', $order); } continue; } $return = new ReturnEntity(); $return->setOrder($order); $order->getItems()->map(function (OrderItem $item) use($return) { $returnItem = new ReturnItem($item); $returnItem->setQuantity(rand(1, $item->getQuantity())); $return->addReturnItem($returnItem); }); $manager->persist($return); $this->setReference('marello_return_' . $i++, $return); } $manager->flush(); }