Предположим, у меня есть объект User
со свойством country
. country
— это просто строка, и многие пользователи могут установить один и тот же country
. Тогда как получить список всех уникальных стран всех пользователей? Я использую Symfony2.8 с Doctrine.
Как получить все возможные значения поля сущности в Symfony 2.8 с помощью Doctrine
Ответы (1)
вам нужно использовать предложение 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.
person
Mawcel
schedule
13.04.2017