使用QueryBuilder进行查询:
<?php $qb = $this->createQueryBuilder('m')
->join('m.sender', 's')
->join('m.target', 't')
->addSelect('s')
->addSelect('t')
->where('(m.sender = '.$Myid.'OR m.target = '.$Myid.')')
->andWhere('m.grouper ='.$groupe)
->orderBy('m.created_date', 'ASC')
->setMaxResults('10');
return $qb->getQuery()
->getResult();
如何在ASC中显示最近10个结果? 谢谢
答案 0 :(得分:6)
来自Doctrine的文档:
<强> 15.2.3。限制结果
要限制结果,查询构建器有一些与Query对象相同的方法,可以从
EntityManager#createQuery()
检索。<?php // $qb instanceof QueryBuilder $offset = (int)$_GET['offset']; $limit = (int)$_GET['limit']; $qb->add('select', 'u') ->add('from', 'User u') ->add('orderBy', 'u.name ASC') ->setFirstResult( $offset ) ->setMaxResults( $limit );
如您所见,您必须使用setFirstResult()
和setMaxResults()
。
我建议你查看关于QueryBuilder的章节,以便避免丑陋的参数连接 ......