0
我們假設實體User
的屬性爲country
。 country
只是一個字符串,許多用戶可以設置相同的country
。那麼如何獲得所有用戶的所有獨特國家的名單?我正在使用Symfony2.8與Doctrine。如何在Symfony 2.8中使用Doctrine獲取實體字段的所有可能值
我們假設實體User
的屬性爲country
。 country
只是一個字符串,許多用戶可以設置相同的country
。那麼如何獲得所有用戶的所有獨特國家的名單?我正在使用Symfony2.8與Doctrine。如何在Symfony 2.8中使用Doctrine獲取實體字段的所有可能值
您需要使用DISTINCT
條款:https://www.w3schools.com/sql/sql_distinct.asp
這裏是如何從一個控制器做到這一點:
$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