2017-04-13 9 views
0

country 속성을 가진 엔티티 User이 있다고 가정 해 봅시다. country은 문자열 일 뿐이며 많은 사용자가 동일한 country을 설정할 수 있습니다. 그런 다음 모든 사용자의 모든 고유 국가 목록을 얻는 방법은 무엇입니까? 나는 Symfony2.8을 사용합니다. Doctrine. https://www.w3schools.com/sql/sql_distinct.asp 여기교리와 함께 symfony 2.8에서 엔티티 필드의 모든 가능한 값을 얻는 방법

당신이 컨트롤러에서 그것을 할 수있는 방법은 다음과 같습니다 :

답변

0

당신은 DISTINCT 절을 사용할 필요가

$qb = $em->getRepository("MyBundle:Country")->createQueryBuilder("c"); 

$countries = $qb->select("c") 
    ->distinct(true) 
    ->getQuery() 
    ->getResult(); 

하나 라이너 : 그러나 내가 당신이라면

$countries = $em->getRepository("MyBundle:Country")->findBy(array('distinct' => true)); 

나는 고유 한 국가 엔티티를 만들고 사용자와 국가 간의 ManyToOne 관계를 만들 것입니다. 훨씬 깨끗한 솔루션이 될 것입니다. IMO