In $entity variable, there is an object of same type as $other_address, but with all field values filled in.
I want to set all fields in $other_address object to have exact same values as $entity object.
Is this doable in less then N number of lines, where N is number of fields I need to set?
I tried "clone" keyword, but it didnt work.
Here's the code.
$other_address = $em->getRepository('PennyHomeBundle:Address') ->findBy(array('user' => $this->get('security.context')->getToken()->getUser()->getId(), 'type' => $check_type)); $other_address = $other_address[0]; //I want to set all values in this object to have values from another object of same type $other_address->setName($entity->getName()); $other_address->setAddress1($entity->getAddress1()); $other_address->setAddress2($entity->getAddress2()); $other_address->setSuburbTown($entity->getSuburbTown()); $other_address->setCityState($entity->getCityState()); $other_address->setPostZipCode($entity->getPostZipCode()); $other_address->setPhone($entity->getPhone()); $other_address->setType($check_type);
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With