From 064dfc5a5655b619e5e0472644fb929769674a8c Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Tue, 2 Jul 2024 12:48:18 +0200 Subject: [PATCH] Fix repositories to fetch entity linked to stored object getSingleResult() replaced by getOneOrNullResult() to\ avoid error being thrown. Fix naming of properties. --- .../Repository/ActivityRepository.php | 11 +++-------- .../AccompanyingCourseDocumentRepository.php | 4 ++-- .../Repository/PersonDocumentRepository.php | 4 ++-- .../ChillEventBundle/Repository/EventRepository.php | 9 ++------- ...mpanyingPeriodWorkEvaluationDocumentRepository.php | 2 -- .../AccompanyingPeriodWorkRepository.php | 4 ++-- 6 files changed, 11 insertions(+), 23 deletions(-) diff --git a/src/Bundle/ChillActivityBundle/Repository/ActivityRepository.php b/src/Bundle/ChillActivityBundle/Repository/ActivityRepository.php index 47ecb66dc..4942eef16 100644 --- a/src/Bundle/ChillActivityBundle/Repository/ActivityRepository.php +++ b/src/Bundle/ChillActivityBundle/Repository/ActivityRepository.php @@ -102,20 +102,15 @@ class ActivityRepository extends ServiceEntityRepository implements AssociatedEn return $qb->getQuery()->getResult(); } - /** - * @throws NonUniqueResultException - * @throws NoResultException - */ public function findAssociatedEntityToStoredObject(StoredObject $storedObject): ?Activity { $qb = $this->createQueryBuilder('a'); $query = $qb - ->join('a.documents', 'ad') - ->join('ad.storedObject', 'so') - ->where('so.id = :storedObjectId') + ->leftJoin('a.documents', 'ad') + ->where('ad.id = :storedObjectId') ->setParameter('storedObjectId', $storedObject->getId()) ->getQuery(); - return $query->getSingleResult(); + return $query->getOneOrNullResult(); } } diff --git a/src/Bundle/ChillDocStoreBundle/Repository/AccompanyingCourseDocumentRepository.php b/src/Bundle/ChillDocStoreBundle/Repository/AccompanyingCourseDocumentRepository.php index 246c7f2d9..744afd424 100644 --- a/src/Bundle/ChillDocStoreBundle/Repository/AccompanyingCourseDocumentRepository.php +++ b/src/Bundle/ChillDocStoreBundle/Repository/AccompanyingCourseDocumentRepository.php @@ -49,11 +49,11 @@ class AccompanyingCourseDocumentRepository implements ObjectRepository, Associat public function findAssociatedEntityToStoredObject(StoredObject $storedObject): ?object { $qb = $this->repository->createQueryBuilder('d'); - $query = $qb->where('d.storedObject = :storedObject') + $query = $qb->where('d.object = :storedObject') ->setParameter('storedObject', $storedObject) ->getQuery(); - return $query->getResult(); + return $query->getOneOrNullResult(); } public function find($id): ?AccompanyingCourseDocument diff --git a/src/Bundle/ChillDocStoreBundle/Repository/PersonDocumentRepository.php b/src/Bundle/ChillDocStoreBundle/Repository/PersonDocumentRepository.php index 57a964867..d0ef4c9d9 100644 --- a/src/Bundle/ChillDocStoreBundle/Repository/PersonDocumentRepository.php +++ b/src/Bundle/ChillDocStoreBundle/Repository/PersonDocumentRepository.php @@ -58,10 +58,10 @@ readonly class PersonDocumentRepository implements ObjectRepository, AssociatedE public function findAssociatedEntityToStoredObject(StoredObject $storedObject): ?object { $qb = $this->repository->createQueryBuilder('d'); - $query = $qb->where('d.storedObject = :storedObject') + $query = $qb->where('d.object = :storedObject') ->setParameter('storedObject', $storedObject) ->getQuery(); - return $query->getResult(); + return $query->getOneOrNullResult(); } } diff --git a/src/Bundle/ChillEventBundle/Repository/EventRepository.php b/src/Bundle/ChillEventBundle/Repository/EventRepository.php index b720866f2..03ee366ac 100644 --- a/src/Bundle/ChillEventBundle/Repository/EventRepository.php +++ b/src/Bundle/ChillEventBundle/Repository/EventRepository.php @@ -38,21 +38,16 @@ class EventRepository implements ObjectRepository, AssociatedEntityToStoredObjec return $this->repository->createQueryBuilder($alias, $indexBy); } - /** - * @throws NonUniqueResultException - * @throws NoResultException - */ public function findAssociatedEntityToStoredObject(StoredObject $storedObject): ?object { $qb = $this->createQueryBuilder('e'); $query = $qb ->join('e.documents', 'ed') - ->join('ed.storedObject', 'so') - ->where('so.id = :storedObjectId') + ->where('ed.id = :storedObjectId') ->setParameter('storedObjectId', $storedObject->getId()) ->getQuery(); - return $query->getSingleResult(); + return $query->getOneOrNullResult(); } public function find($id) diff --git a/src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriod/AccompanyingPeriodWorkEvaluationDocumentRepository.php b/src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriod/AccompanyingPeriodWorkEvaluationDocumentRepository.php index 95e0075e2..59bb3f915 100644 --- a/src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriod/AccompanyingPeriodWorkEvaluationDocumentRepository.php +++ b/src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriod/AccompanyingPeriodWorkEvaluationDocumentRepository.php @@ -11,8 +11,6 @@ declare(strict_types=1); namespace Chill\PersonBundle\Repository\AccompanyingPeriod; -use Chill\DocStoreBundle\Entity\StoredObject; -use Chill\DocStoreBundle\Repository\AssociatedEntityToStoredObjectInterface; use Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWorkEvaluationDocument; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityRepository; diff --git a/src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriod/AccompanyingPeriodWorkRepository.php b/src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriod/AccompanyingPeriodWorkRepository.php index 43ecd5337..324c3c176 100644 --- a/src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriod/AccompanyingPeriodWorkRepository.php +++ b/src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriod/AccompanyingPeriodWorkRepository.php @@ -258,12 +258,12 @@ final readonly class AccompanyingPeriodWorkRepository implements ObjectRepositor { $qb = $this->repository->createQueryBuilder('acpw'); $query = $qb - ->join('acpw.evaluations', 'acpwe') + ->join('acpw.accompanyingPeriodWorkEvaluations', 'acpwe') ->join('acpwe.documents', 'acpwed') ->where('acpwed.storedObject = :storedObject') ->setParameter('storedObject', $storedObject) ->getQuery(); - return $query->getResult(); + return $query->getOneOrNullResult(); } }