public function setProxies(array $relations = null)
    {
        $attributes = $this->getEntityAttributes();
        $proxies = [];

        $relations = $this->getRelationsToProxy();

        // Before calling the relationship methods, we'll set the relationship
        // method to null, to avoid hydration error on class properties
        foreach ($relations as $relation) {
            $this->setEntityAttribute($relation, null);
        }

        foreach ($relations as $relation) {
            // First, we check that the relation has not been already
            // set, in which case, we'll just pass.
            if (array_key_exists($relation, $attributes) && !is_null($attributes[$relation])) {
                continue;
            }

            // If the key is handled locally and we know it not to be set,
            // we'll set the relationship to null value
            if (!$this->relationNeedsProxy($relation, $attributes)) {
                $proxies[$relation] = $this->entityMap->getEmptyValueForRelationship($relation);
            } else {
                $targetClass = $this->getClassToProxy($relation, $attributes);
                $proxies[$relation] = $this->proxyFactory->make($this->getObject(), $relation, $targetClass);
            }
        }

        foreach ($proxies as $key => $value) {
            $this->setEntityAttribute($key, $value);
        }
    }
public function setProxies(array $relations = null)
    {
        $attributes = $this->getEntityAttributes();
        $proxies = [];

        $relations = $this->getRelationsToProxy();

        // Before calling the relationship methods, we'll set the relationship
        // method to null, to avoid hydration error on class properties
        foreach ($relations as $relation) {
            $this->setEntityAttribute($relation, null);
        }

        foreach ($relations as $relation) {
            // First, we check that the relation has not been already
            // set, in which case, we'll just pass.
            if (array_key_exists($relation, $attributes) && !is_null($attributes[$relation])) {
                continue;
            }

            // If the key is handled locally and we know it not to be set,
            // we'll set the relationship to null value
            if (!$this->relationNeedsProxy($relation, $attributes)) {
                $proxies[$relation] = $this->entityMap->getEmptyValueForRelationship($relation);
            } else {
                $targetClass = $this->getClassToProxy($relation, $attributes);
                $proxies[$relation] = $this->proxyFactory->make($this->getObject(), $relation, $targetClass);
            }
        }

        foreach ($proxies as $key => $value) {
            $this->setEntityAttribute($key, $value);
        }
    }
public function setProxies ( array $ relations = null ) { $ attributes = $ this -> getEntityAttributes ( ) ; $ proxies = [ ] ; $ relations = $ this -> getRelationsToProxy ( ) ; // Before calling the relationship methods, we'll set the relationship // method to null, to avoid hydration error on class properties foreach ( $ relations as $ relation ) { $ this -> setEntityAttribute ( $ relation , null ) ; } foreach ( $ relations as $ relation ) { // First, we check that the relation has not been already // set, in which case, we'll just pass. if ( array_key_exists ( $ relation , $ attributes ) && ! is_null ( $ attributes [ $ relation ] ) ) { continue ; } // If the key is handled locally and we know it not to be set, // we'll set the relationship to null value if ( ! $ this -> relationNeedsProxy ( $ relation , $ attributes ) ) { $ proxies [ $ relation ] = $ this -> entityMap -> getEmptyValueForRelationship ( $ relation ) ; } else { $ targetClass = $ this -> getClassToProxy ( $ relation , $ attributes ) ; $ proxies [ $ relation ] = $ this -> proxyFactory -> make ( $ this -> getObject ( ) , $ relation , $ targetClass ) ; } } foreach ( $ proxies as $ key => $ value ) { $ this -> setEntityAttribute ( $ key , $ value ) ; } }
Set the lazy loading proxies on the wrapped entity objet.

@param array $relations list of relations to be lazy loaded

@return void
Set the lazy loading proxies on the wrapped entity objet .