使用doctrine中的findAll选择不同的结果

Isk*_*sky 4 php doctrine symfony doctrine-orm

我可以使用findAll()函数选择不同的值吗?

我尝试着 :

$province = $em->getRepository("FrontendBundle:Store")->findAll(array('distinct' => true));
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用.

Mat*_*teo 9

findall不支持此行为,为了即时进行查询(在单独的存储库类中更好),您可以执行以下操作:

/** @var  $qb  \Doctrine\ORM\QueryBuilder*/
$qb = $em->getRepository("GerlaFrontendBundle:Store")->createQueryBuilder("p");

$province = $qb->select("p")
    ->distinct(true)
    ->getQuery()
    ->getResult();
Run Code Online (Sandbox Code Playgroud)

希望这有帮助

  • 这是一个开始,但我怀疑他真的想从商店存储库中找到一个独特的省份列表. (2认同)