entityManager = $entityManager; } /** * @throws NonUniqueResultException * * @return mixed */ public function loadUserFromAdmin(int $id) { $user = $this->findUserById($id); if (!$user) { $userProject = new UserProject(); $userProject->setUserId($id); $user = $this->save($userProject); } return $user; } /** * @throws NonUniqueResultException * * @return mixed */ public function findUserById(int $id) { return $this->entityManager ->createQueryBuilder() ->select('u') ->from(UserProject::class, 'u') ->where('u.userId = :id') ->setParameter('id', $id) ->getQuery() ->getOneOrNullResult() ; } public function save(UserProject $user): UserProject { $this->entityManager->persist($user); $this->entityManager->flush(); return $user; } }