我在我的symfony3应用程序中使用mongoDB,我需要在我的存储库中使用setMaxResults
和setFirstResult
来对我的列表操作中的结果进行分页。但是我更习惯使用MySql作为数据库而我在cas中找不到怎么做。
我试着用它:
$qb = $this->createQueryBuilder('DemoBundle:Entity');
$qb ->select('u');
$qb ->setMaxResults($max)
->setFirstResult($first);
但我有一个错误如下:
尝试调用类的名为“setMaxResults”的未定义方法 “教义\ ODM \ MongoDB的\查询\生成器
完整功能如下:
public function search($data, $page = 0, $max = NULL, $getResult = true)
{
$qb = $this->createQueryBuilder('AresAPITournamentBundle:Tournament');
$query = isset($data['query']) && $data['query']?$data['query']:null;
$qb ->select('u');
if ($query) {
$qb
->andWhere('u.name like :query')
->setParameter('query', "%".$query."%")
;
}
if ($max) {
$qb ->setMaxResults($max)
->setFirstResult($page * $max)
;
} else {
$preparedQuery = $qb->getQuery();
}
return $getResult?$preparedQuery->execute():$preparedQuery;
}
我在this tutorial找到了资源。
我如何实现这一目标?
答案 0 :(得分:0)
回应是:
$qb ->limit($to)
->skip($from);