Doctrine orm 在第2条原则中的何处使用

Doctrine orm 在第2条原则中的何处使用,doctrine-orm,symfony-2.8,Doctrine Orm,Symfony 2.8,我的数据库中有一个表:article 它有以下行:id、title、num 我试图在条令2中提出一个查询,以显示带有max num编号的文章 我需要帮助来正确使用我查询到articleController中的where 或者如果你有更好的解决方案 public function articleAction() $repository = $this->getDoctrine()->getRepository('appBundle:Article'); $query =

我的数据库中有一个表:article 它有以下行:id、title、num

我试图在条令2中提出一个查询,以显示带有max num编号的文章

我需要帮助来正确使用我查询到articleController中的where 或者如果你有更好的解决方案

public function articleAction()
    $repository = $this->getDoctrine()->getRepository('appBundle:Article');
    $query = $repository->createQueryBuilder('a')
            ->select('a.id','a.title','a.num')
            ->where("a.num AS Max(a.num)")
            ->getQuery()
            ;
            $article = $query->getResult();
    return $this->render('appBundle:articles:article.html.twig', array('article'=>$article));
}
一个可能的解决办法

public function articleAction() {
    $repository = $this->getDoctrine()->getRepository('appBundle:Article');
    $article = $repository->createQueryBuilder('a')
            ->select('a.id','a.title','a.num')
            ->orderBy('a.num', 'DESC')
            ->getQuery()
            ->getOneOrNullResult();

    return $this->render('appBundle:articles:article.html.twig', array(
                'article'=>$article)
            );
}

即使您没有使用QueryBuilder,where子句语法也是无效的。从什么时候开始可以将WHERE a.num作为Maxa.num?你想干什么?其中a.num=从文章中选择MAXnum?您好,我想显示最大值为num的文章。给定的num是整数类型。这解决了我的问题:公共函数art\u lastAction{//single createQuery$em=$this->get'doctrine.orm.entity_manager';$dql=从RiehBundle:Article a ORDER BY a.num DESC;$query=$em->createQuery$dql;$query->setMaxResults1;$art\u last=$query->->getResult;返回$this->->render'RiehBundle:articles:art_last.html.twig',array'art_last'=>$art_last;}这就是我要建议的,只是我会在您的原始查询中添加一个限制1。无论如何,感谢您的帮助;-…定义一个限制实际上是实现ITI dhvarela的最佳解决方案之一,这个示例也对我帮助很大,因为我需要知道如何使用createQueryBuilder而不是createQuery来实现它。非常感谢您。因此getOneOrNullResult方法用于限制结果?!!好的…是的,您可以看到更多选项