Como posso obter uma entidade da referência do Doctrine Fixture?

Eu adicionei dispositivos de dados no meu projeto que se baseia em objetos de entidade de referência uns dos outros.

No data fixture one, adicionei referências de entidades como:

            // GroupEntity_Fixtures.php file
    $this->addReference('GROUP_USER', $groupUser);
    $this->addReference('GROUP_ADMIN', $groupAdmin);

Onde $ groupAdmin e $ groupUser são entidades Group (). No meu segundo arquivo de fixtures eu quero adicionar essas entidades à minha entidade User via:

             //UserEntity_Fixtures.php file
             $userActive->addGroup($this->getReference('GROUP_USER'));

$ userActive é uma entidade de Usuário com um relacionamento Many to Many para Entidade de Grupo. Infelizmente, parece que estou apenas passando um proxy da entidade e não a própria entidade que processa o seguinte erro:

 [Symfony\Component\Debug\Exception\ContextErrorException]                    
  Catchable Fatal Error: Argument 1 passed to Blogger\BlogBundle\Entity\User:  
  :addGroup() must be an instance of Blogger\BlogBundle\Entity\groups, instan  
  ce of Proxies\__CG__\Blogger\BlogBundle\Entity\Group given, called in /home  
  /na/Practice/src/Blogger/BlogBundle/DataFixtures/ORM/CreateUserController_S  
  ignUpForm_UserEntity_Fixtures.php on line 27 and defined in /home/na/Practi  
  ce/src/Blogger/BlogBundle/Entity/User.php line 305 

Como faço para converter a referência de um proxy para a entidade que ela espera?

Código para Fixação de Grupo:

<?php
// DataFixtures/ORM/GroupEntity_Fixtrues.php

namespace Blogger\BlogBundle\DataFixtures\ORM;

use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
use Doctrine\Common\DataFixtures\AbstractFixture;
use Doctrine\Common\Persistence\ObjectManager;
use Blogger\BlogBundle\Entity\User;
use Blogger\BlogBundle\Entity\Group;

class GroupEntity_Fixtures extends AbstractFixture implements OrderedFixtureInterface
{
    /**
     * {@inheritDoc}
     */
     public function load(ObjectManager $manager)
     {
        $groupUser = new Group();
        $groupUser->setName('GROUP_USER');
        $groupUser->setRole('ROLE_USER');
        $manager->persist($groupUser);

        $groupAdmin = new Group();
        $groupAdmin->setName('GROUP_ADMIN');
        $groupAdmin->setRole('ROLE_USER,ROLE_ADMIN');
        $manager->persist($groupAdmin);

        $manager->flush();

        $this->addReference('GROUP_USER', $groupUser);
        $this->addReference('GROUP_ADMIN', $groupAdmin);
     }

     public function getOrder()
     {
        return 1;
     }
}

Código para fixação de usuário

<?php
// DataFixtures/ORM/CreateUserController_SignUpForm_UserEntity_Fixtrues.php

namespace Blogger\BlogBundle\DataFixtures\ORM;

use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
use Doctrine\Common\DataFixtures\AbstractFixture;
use Doctrine\Common\Persistence\ObjectManager;
use Blogger\BlogBundle\Entity\User;
use Blogger\BlogBundle\Entity\Group;

class CreateUserController_SignUpForm_UserEntity_Fixtures extends AbstractFixture implements OrderedFixtureInterface
{
    /**
     * {@inheritDoc}
     */
     public function load(ObjectManager $manager)
     {
        $groupUser2 = new Group();
        $groupUser2->setName('GROUP_USER');
        $groupUser2->setRole('ROLE_USER');
        $manager->persist($groupUser2);

        // This person represents an active (email verified) user.
        $userActive = new User();
        $userActive->setPassword("passwordActive");
        $userActive->setEmail("[email protected]");
        $userActive->setUserName("testActive");
        $userActive->setPassword(crypt($userActive->getPassword(),$userActive->getSalt()));
        $userActive->setEmailToken(md5(uniqid(rand(), true)));
        $userActive->addGroup($groupUser2);
        //$userActive->getGroups()->add($groupRepository->getGroupByName("BASIC_USER"));

        // This person represents an unactive (email not verified) user.
        $userUnactive = new User();
        $userUnactive->setPassword("passwordUnactive");
        $userUnactive->setEmail("[email protected]");
        $userUnactive->setUserName("testUnactive");
        $userUnactive->setPassword(crypt($userUnactive->getPassword(),$userUnactive->getSalt()));
        $userUnactive->setEmailToken(md5(uniqid(rand(), true)));

        // Persist objects into the database
        $manager->persist($userActive);
        $manager->persist($userUnactive);
        $manager->flush();

     }

     public function getOrder()
     {
        return 2;
     }
}

Código para Entidade do Grupo:

/**
 * @ORM\ManyToMany(targetEntity="User", inversedBy="groups")
 */
private $users;

Código para Entidade do Usuário:

/**
 * @ORM\ManyToMany(targetEntity="Group", mappedBy="users")
 */
protected $groups;

Grupo adicionado Methos:

/**
 * Add groups
 *
 * @param \Blogger\BlogBundle\Entity\groups $groups
 * @return User
 */
public function addGroup(\Blogger\BlogBundle\Entity\groups $groups)
{
    $this->groups[] = $groups;

    return $this;
}

questionAnswers(1)

yourAnswerToTheQuestion