repository = $em->getRepository(AccompanyingCourseDocument::class); } public function buildQueryByCourse(AccompanyingPeriod $course): QueryBuilder { $qb = $this->repository->createQueryBuilder('d'); $qb ->where($qb->expr()->eq('d.course', ':course')) ->setParameter('course', $course); return $qb; } public function countByCourse(AccompanyingPeriod $course): int { $qb = $this->buildQueryByCourse($course)->select('COUNT(d)'); return $qb->getQuery()->getSingleScalarResult(); } public function findAssociatedEntityToStoredObject(StoredObject $storedObject): ?object { $qb = $this->repository->createQueryBuilder('d'); $query = $qb->where('d.storedObject = :storedObject') ->setParameter('storedObject', $storedObject) ->getQuery(); return $query->getResult(); } public function find($id): ?AccompanyingCourseDocument { return $this->repository->find($id); } public function findAll(): array { return $this->repository->findAll(); } public function findBy(array $criteria, ?array $orderBy = null, $limit = null, $offset = null): array { return $this->repository->findBy($criteria, $orderBy, $limit, $offset); } public function findOneBy(array $criteria): ?AccompanyingCourseDocument { return $this->findOneBy($criteria); } public function getClassName(): string { return AccompanyingCourseDocument::class; } }