public function getProviderByType($type) { $provider = $this->entityManager->getRepository("PartKeeprAuthBundle:UserProvider")->findOneBy(array("type" => $type)); if ($provider !== null) { return $provider; } $provider = new UserProvider(); $provider->setType($type); if ($type !== self::BUILTIN_PROVIDER) { $provider->setEditable(false); } $this->entityManager->persist($provider); $this->entityManager->flush(); return $provider; }