public function setGroupByName($name, $entityManager) { if ($name == 'freelancer') { $this->setGroup($entityManager->getReference('\\User\\Entity\\UserGroup', UserGroup::FREELANCER_GROUP_ID)); $freelancer = new Freelancer(); $freelancer->save($entityManager); $this->freelancer = $freelancer; } else { if ($name == 'employer') { $this->setGroup($entityManager->getReference('\\User\\Entity\\UserGroup', UserGroup::EMPLOYER_GROUP_ID)); $employer = new Employer(); $employer->setData(['name' => $this->firstName . ', ' . $this->lastName, 'contracted' => 0, 'alias' => $this->getAlias($entityManager, UserGroup::EMPLOYER_GROUP_ID)]); $employer->save($entityManager); $this->employer = $employer; } else { if ($name == 'staff') { $this->setGroup($entityManager->getReference('\\User\\Entity\\UserGroup', UserGroup::ADMIN_GROUP_ID)); $staff = new Staff(); $staff->setData(['name' => $this->firstName . ', ' . $this->lastName, 'alias' => $this->getAlias($entityManager, UserGroup::EMPLOYER_GROUP_ID)]); $staff->save($entityManager); $this->staff = $staff; } } } }