Logic for Collector entity + track ApiResource

This commit is contained in:
2024-11-06 20:11:43 +01:00
parent ca48e20ce7
commit 4e52ea48f6
4 changed files with 34 additions and 12 deletions

0
src/ApiResource/.gitignore vendored Normal file
View File

View File

@@ -16,10 +16,8 @@ class CollectorController extends AbstractController
public function index(Collector $collector, EntityManagerInterface $em): Response
{
$repo = $em->getRepository(Bibliography::class);
/*
$bibliographies = $repo->findAllByCollection($collector->getId());
$bibliographies = $repo->findAllByCollector($collector->getId());
$collector->setBibliographies($bibliographies);
*/
return $this->render('collector/index.html.twig', [
'controller_name' => 'CollectorController',
@@ -27,7 +25,7 @@ class CollectorController extends AbstractController
]);
}
#[Route('/collection', name: 'app_collection_landing')]
#[Route('/collector', name: 'app_collector_landing')]
public function landing(EntityManagerInterface $em): Response
{
$repo = $em->getRepository(Collector::class);

View File

@@ -36,5 +36,29 @@ class BibliographyRepository extends ServiceEntityRepository
return $bibliographies;
}
}
public function findAllByCollector(int $collectorId): ?ArrayCollection
{
$rsm = new ResultSetMappingBuilder($this->getEntityManager());
$rsm->addRootEntityFromClassMetadata('App\Entity\Bibliography', 'b');
$query = $this->getEntityManager()->createNativeQuery(
"SELECT
id,
stato,
editor,
cit_bib,
rif_bib
FROM bibliography b
JOIN rel_riferimento_personaggio
ON Bibliografia_id_bib = id
WHERE Personaggio_id_pers = :collId",
$rsm
);
$query->setParameter('collId', $collectorId);
$bibliographies = new ArrayCollection($query->getResult());
return $bibliographies;
}
}