2017-04-13 7 views
0

Userのプロパティcountryというエンティティがあるとします。 countryは単なる文字列であり、多くのユーザーが同じcountryを設定することができます。どのようにすべてのユーザーのすべてのユニークな国のリストを取得するには?私はsymfony2.8を使用しています。Doctrine私があなただったらしかしDoctrineを使ってSymfony 2.8のエンティティフィールドの値をすべて得る方法

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

:ここhttps://www.w3schools.com/sql/sql_distinct.asp

あなたは、コントローラからそれを行うことができる方法である:

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

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

1ライナーあなたがDISTINCT句を使用する必要が

答えて

0

私はユニークな国のエンティティを作成し、ユーザーと国との間のManyToOne関係を作成します。これはもっとクリーンなソリューションになりますIMO

関連する問題