*/ class DocumentRepository extends ServiceEntityRepository { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, Document::class); } public function hasCreatorEditor(string $creator): bool { $em = $this->getEntityManager(); $repo = $em->getRepository(User::class); $creator = $repo->findOneBy(['username' => $creator]); return in_array('ROLE_EDITOR', $creator->getRoles()); } public function findAllByBibliography(int $biblioId): ?ArrayCollection { $rsm = new ResultSetMappingBuilder($this->getEntityManager()); $rsm->addRootEntityFromClassMetadata('App\Entity\Document', 'd'); $query = $this->getEntityManager()->createNativeQuery( "SELECT id, stato, editor, tit_doc, aut_doc FROM document d JOIN rel_riferimento_documento ON Documento_id_doc = id WHERE Bibliografia_id_bib = :biblioId", $rsm ); $query->setParameter('biblioId', $biblioId); return new ArrayCollection($query->getResult()); } }