repository = $em->getRepository(Relationship::class); } public function find($id): ?Relationship { 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): ?Relationship { return $this->findOneBy($criteria); } public function getClassName(): string { return Relationship::class; } public function findByPerson($personId): array { // return all relationships of which person is part? or only where person is the fromPerson? return $this->repository->createQueryBuilder('r') ->select('r, t') // entity Relationship ->join('r.relation', 't') ->where('r.fromPerson = :val') ->orWhere('r.toPerson = :val') ->setParameter('val', $personId) ->getQuery() ->getResult() ; } }