Skip to content

Instantly share code, notes, and snippets.

@ramingar
Last active December 3, 2015 10:56
Show Gist options
  • Select an option

  • Save ramingar/f95773f6b2bb67b072eb to your computer and use it in GitHub Desktop.

Select an option

Save ramingar/f95773f6b2bb67b072eb to your computer and use it in GitHub Desktop.
Compartir objetos entre fixtures #symfony #doctrine #fixtures #addreference #merge

Lo que quieres compartir:

// compartes el $user y la clave para encontrarlo es 'organization_account'
$this->addReference('organization_account', $user);

Recuperas lo que has compartido y lo usas

$manager->merge($this->getReference('person_account'))

Ejemplo completo:

public function load(ObjectManager $manager)
{
    $userInGroup = new UserInGroup();
    $userInGroup
        ->setGroup($manager->merge($this->getReference('GROUP_DEVELOP')))
        ->setRole($manager->merge($this->getReference('ROLE_USER')))
        ->setUser($manager->merge($this->getReference('person_account')));
    $manager->persist($userInGroup);
    $manager->flush();

    $userInGroup = new UserInGroup();
    $userInGroup
        ->setGroup($manager->merge($this->getReference('GROUP_DEVELOP')))
        ->setRole($manager->merge($this->getReference('ROLE_ADMIN')))
        ->setUser($manager->merge($this->getReference('organization_account')));
    $manager->persist($userInGroup);
    $manager->flush();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment