diff --git a/src/Controller/ReuseController.php b/src/Controller/ReuseController.php index 592da2e..17b9256 100644 --- a/src/Controller/ReuseController.php +++ b/src/Controller/ReuseController.php @@ -49,13 +49,10 @@ class ReuseController extends AbstractController { $repo = $em->getRepository(Reuse::class); $coordinates = $repo->coordinates($reuse->getId()); - //$repo = $em->getRepository(Bibliography::class); + $repo = $em->getRepository(Bibliography::class); - //$biblio = $repo->findAllByNotConserved($reuse->getId()); - //$repo = $em->getRepository(Document::class); - //$documents = $repo->findByNotConserved($reuse->getId()); - $reuse->setBibliography([]); - //$reuse->setDocuments($documents); + $biblio = $repo->findAllByReuse($reuse->getId()); + $reuse->setBibliography($biblio); $reuse->setLat($coordinates['lat']); $reuse->setLng($coordinates['lng']); diff --git a/src/Repository/BibliographyRepository.php b/src/Repository/BibliographyRepository.php index 736cd24..2c62e74 100644 --- a/src/Repository/BibliographyRepository.php +++ b/src/Repository/BibliographyRepository.php @@ -120,6 +120,41 @@ class BibliographyRepository extends ServiceEntityRepository $entities[] = $biblio; } + return $entities; + } + /** + * @return Bibliography[] + */ + public function findAllByReuse(int $reuseId): array + { + $conn = $this->getEntityManager()->getConnection(); + + $sql = ' + SELECT + b.id, + b.citazione, + b.riferimento, + br.pagine + FROM bibliografia b + INNER JOIN bibliografia_reimpiego br ON br.id_bibliografia = b.id + WHERE br.id_reimpiego = :reuseId + ORDER BY br.ordine ASC + '; + + $stmt = $conn->prepare($sql); + $results = $stmt->executeQuery(['reuseId' => $reuseId])->fetchAllAssociative(); + + $entities = []; + + foreach ($results as $row) { + $biblio = new Bibliography(); + $biblio->setId($row['id']); + $biblio->setCitation($row['citazione']); + $biblio->setReference($row['riferimento']); + $biblio->setPages($row['pagine']); + $entities[] = $biblio; + } + return $entities; } } diff --git a/src/Repository/NotConservedRepository.php b/src/Repository/NotConservedRepository.php index 51e4237..c7cc29d 100644 --- a/src/Repository/NotConservedRepository.php +++ b/src/Repository/NotConservedRepository.php @@ -32,28 +32,4 @@ class NotConservedRepository extends ServiceEntityRepository return $conn->executeQuery($sql, ['id' => $id]) ->fetchAssociative(); } - // /** - // * @return NotConserved[] Returns an array of NotConserved objects - // */ - // public function findByExampleField($value): array - // { - // return $this->createQueryBuilder('n') - // ->andWhere('n.exampleField = :val') - // ->setParameter('val', $value) - // ->orderBy('n.id', 'ASC') - // ->setMaxResults(10) - // ->getQuery() - // ->getResult() - // ; - // } - - // public function findOneBySomeField($value): ?NotConserved - // { - // return $this->createQueryBuilder('n') - // ->andWhere('n.exampleField = :val') - // ->setParameter('val', $value) - // ->getQuery() - // ->getOneOrNullResult() - // ; - // } } diff --git a/src/Repository/ReuseRepository.php b/src/Repository/ReuseRepository.php index 0431036..9082823 100644 --- a/src/Repository/ReuseRepository.php +++ b/src/Repository/ReuseRepository.php @@ -32,28 +32,5 @@ class ReuseRepository extends ServiceEntityRepository return $conn->executeQuery($sql, ['id' => $id]) ->fetchAssociative(); } - // /** - // * @return Finding[] Returns an array of Finding objects - // */ - // public function findByExampleField($value): array - // { - // return $this->createQueryBuilder('f') - // ->andWhere('f.exampleField = :val') - // ->setParameter('val', $value) - // ->orderBy('f.id', 'ASC') - // ->setMaxResults(10) - // ->getQuery() - // ->getResult() - // ; - // } - - // public function findOneBySomeField($value): ?Finding - // { - // return $this->createQueryBuilder('f') - // ->andWhere('f.exampleField = :val') - // ->setParameter('val', $value) - // ->getQuery() - // ->getOneOrNullResult() - // ; - // } + }