How to get foreign repository inside my repository in Doctrine2/Symfony2?

doctrine-orm, php, repository, symfony

Solution

You can access the `EntityManager` by calling `Doctrine\ORM\EntityRepository#getEntityManager()`:

$repository = $this
    ->getEntityManager()
    ->getRepository('PondGeolocBundle:User_Lake');

Problem

I need values from 2 different entities. I don't know how to do. I tried this so far: ``` <?php namespace Pond\GeolocBundle\Entity; use Doctrine\ORM\EntityRepository; /** * PondLakeRepository * * This class was generated by the Doctrine ORM. Add your own custom * repository methods below. */ class PondLakeRepository extends EntityRepository { public function getSwimsAvailableById($id) { // get the nb of swims of a lake $lake = $this->findOneById($id); $swims = $lake->getSwims(); $repository = $this->getDoctrine() ->getManager() ->getRepository('PondGeolocBundle:User_Lake'); //get the nb of users in a lake $qb = $this->_em->createQueryBuilder(); $qb->select('count(a.id)'); $qb->from('PondGeolocBundle:User_Lake', 'a'); $nbOfUsers = $qb->getQuery()->getSingleScalarResult(); // return the nb of swims available onthis lake $avail = $swims - $nbOfUsers; print_r ($avail); } } ``` Doesn't work Please help. Thanks

Original source