Doctrine 2: how to clone all values from one object onto another except ID?
Just Clone the entity, you don't even need to unset the id. Doctrine has tackled this for you
I'm not sure why cloning won't work.
This seems to work for me, at least in a basic test case:
$A = $em->find('Some\Entity',1);
$B = clone $A;
$B->setId(null);
If you've got relationships to worry about, you might want to safely implement __clone so it does what you want it to do with related entities.