<?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();