/** * @param \AppBundle\Entity\User $user * @param \AppBundle\Entity\Troop\Troop $troop */ public function createTroop(User $user, Troop $troop) { $troop->setSlug($this->slugger->slugify($troop->getName())); if (($coatOfArms = $troop->getCoatOfArms()) !== null) { $coatOfArms->setName($troop->getSlug()); } $roleLabel = $this->translator->trans('troops.roles.default_role_label'); $role = (new Role())->setTroop($troop)->setLabel($roleLabel)->setSlug($this->slugger->slugify($roleLabel))->setPosition(1); $troop->addRole($role); $user->addTroopAssociation((new Association())->setUser($user)->setTroop($troop)->setRole($role)); $this->em->persist($troop); $this->em->persist($user); $this->em->flush(); }