entityManager->getRepository(EntityChapter::class)->find($id); if (!$chapterEntity) { return null; } return new Chapter( id: $chapterEntity->getId(), mangaId: $chapterEntity->getManga()->getId(), chapterNumber: $chapterEntity->getNumber(), volumeNumber: $chapterEntity->getVolume(), ); } /** * @throws ChapterNotFoundException */ public function getByMangaIdAndChapterNumber(string $mangaId, float $chapterNumber): Chapter { $entity = $this->entityManager->getRepository(EntityChapter::class)->findOneBy([ 'manga' => $mangaId, 'number' => $chapterNumber ]); if ($entity === null) { throw new ChapterNotFoundException(); } return new Chapter( id: $entity->getId(), mangaId: $entity->getManga()->getId(), chapterNumber: $entity->getNumber(), volumeNumber: $entity->getVolume(), ); } }