You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
705 B
28 lines
705 B
<?php
|
|
|
|
namespace DeepCopy\Filter\Doctrine;
|
|
|
|
use DeepCopy\Filter\Filter;
|
|
use DeepCopy\Reflection\ReflectionHelper;
|
|
use Doctrine\Common\Collections\ArrayCollection;
|
|
|
|
/**
|
|
* @final
|
|
*/
|
|
class DoctrineEmptyCollectionFilter implements Filter
|
|
{
|
|
/**
|
|
* Sets the object property to an empty doctrine collection.
|
|
*
|
|
* @param object $object
|
|
* @param string $property
|
|
* @param callable $objectCopier
|
|
*/
|
|
public function apply($object, $property, $objectCopier)
|
|
{
|
|
$reflectionProperty = ReflectionHelper::getProperty($object, $property);
|
|
$reflectionProperty->setAccessible(true);
|
|
|
|
$reflectionProperty->setValue($object, new ArrayCollection());
|
|
}
|
|
}
|