从MongoDB游标中获取对象而不是数组

时间:2016-01-25 16:06:06

标签: php mongodb symfony

我使用查询构建器从MongoDB获取所有文档并返回游标

// My repository
public function messages()
{
    $qb = $this->createQueryBuilder()
        ->hydrate(false)
        ->field('sendAt')
        ->sort('ASC')
        ->getQuery()
        ->getSingleResult();

    return $qb;
}

我可以使用此

获取第一个文档的数组
//My controller
$qb = $this->get('doctrine_mongodb')
    ->getManager()
    ->getRepository('AppBundle:Messages')
    ->messages();

$qb->next();
$qb->current();

有一种方法可以从光标中获取对象而不是数组吗?

也许我应该转换这个数组?

编辑:

cf:Symfony QueryBuilder returning MongoDB cursor instead of objects array

// My repository
public function messages()
{
    $qb = $this->createQueryBuilder()
        ->eagerCursor(true)
        ->field('sendAt')
        ->sort('ASC')
        ->getQuery()
        ->getSingleResult();

    return $qb;
}

eagerCursor(true)解决了这个问题。

0 个答案:

没有答案