Fix repositories to fetch entity linked to stored object

getSingleResult() replaced by getOneOrNullResult() to\ avoid error being thrown.
Fix naming of properties.
This commit is contained in:
Julie Lenaerts 2024-07-02 12:48:18 +02:00
parent 5b0babb9b0
commit 064dfc5a56
6 changed files with 11 additions and 23 deletions

View File

@ -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();
}
}

View File

@ -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

View File

@ -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();
}
}

View File

@ -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)

View File

@ -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;

View File

@ -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();
}
}