shyim
3/21/2016 - 1:23 PM

copy_order.php

<?php

$newOrder = clone $order;
        $newOrder->setNumber('test5');
        $newOrder->setAttribute(clone $order->getAttribute());
        $newOrder->setBilling(clone $order->getBilling());
        $newOrder->getBilling()->setAttribute(clone $order->getBilling()->getAttribute());
        $newOrder->setShipping(clone $order->getShipping());
        $newOrder->getShipping()->setAttribute(clone $order->getShipping()->getAttribute());
        $newOrder->setDispatch($order->getDispatch());
        $newOrder->setPayment($order->getPayment());
        $newOrder->setOrderStatus($order->getOrderStatus());
        $newOrder->setPaymentStatus($order->getPaymentStatus());
        $newOrder->setShop($order->getShop());

        /** @var Detail $oldDetail */
        $oldDetail = $order->getDetails()->first();
        $newDetail = clone $oldDetail;

        $newDetail->setAttribute(clone $oldDetail->getAttribute());
        $newDetail->setOrder($newOrder);
        $newDetail->setTax($oldDetail->getTax());
        $newDetail->setStatus($oldDetail->getStatus());
        $newDetail->setNumber($newDetail->getNumber());

        $newOrder->setDetails($newDetail);


        Shopware()->Models()->persist($newOrder);
        Shopware()->Models()->flush();