/
home
/
sjslayjy
/
public_html
/
theweavenest
/
vendor
/
myclabs
/
deep-copy
/
src
/
DeepCopy
/
Filter
/
Doctrine
/
Upload File
HOME
<?php namespace DeepCopy\Filter\Doctrine; use DeepCopy\Filter\Filter; use DeepCopy\Reflection\ReflectionHelper; /** * @final */ class DoctrineCollectionFilter implements Filter { /** * Copies the object property doctrine collection. * * {@inheritdoc} */ public function apply($object, $property, $objectCopier) { $reflectionProperty = ReflectionHelper::getProperty($object, $property); $reflectionProperty->setAccessible(true); $oldCollection = $reflectionProperty->getValue($object); $newCollection = $oldCollection->map( function ($item) use ($objectCopier) { return $objectCopier($item); } ); $reflectionProperty->setValue($object, $newCollection); } }