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

后端 未结 2 1772
攒了一身酷
攒了一身酷 2021-02-12 08:57

I need values from 2 different entities. I don\'t know how to do. I tried this so far:



        
相关标签:
2条回答
  • 2021-02-12 09:38

    If you like more to inject dependencies, declare your repositories as services so you can inject one to use it inside the other:

    services.yml

    services:
        repository.user_lake:
            class: Pond\GeolocBundle\Entity\UserLakeRepository
            factory: [@doctrine, getRepository]
            arguments:
                - PondGeolocBundle:User_Lake
    
        repository.pond_lake:
            class: Pond\GeolocBundle\Entity\PondLakeRepository
            factory: [@doctrine, getRepository]
            arguments:
                - PondGeolocBundle:PondLake
            calls:
                - [setUserLakeRepository, [@repository.user_lake]]
    

    in PondLakeRepository.php you must have a setter (setUserLakeRepository) to a property to store the repository (i.e. $userLakeRepository).

    0 讨论(0)
  • 2021-02-12 09:44

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

    $repository = $this
        ->getEntityManager()
        ->getRepository('PondGeolocBundle:User_Lake');
    
    0 讨论(0)
提交回复
热议问题