主义ODM/SF4。 1: 必须 return 结果而不是游标

Doctrine ODM/SF4. 1: Must return results instead of cursor

我正在尝试将 doctrine odm 的查询生成器与 Symfony 4.1 一起使用。 我已经创建了一个存储库:

public function myFunction(Foo $foo)
{
    $query Builder = $this->createQueryBuilder();
    $queryBuilder
      ->eagerCursor(true) 
       ->field('foo')->references($foo)
       ->field('date')
       ->lte('2018-10-19 23:59:59')
       ->gte('2018-10-19 00:00:00');

    return $queryBuilder;

}

在我的控制器中:

$bars = $this->dm->getRepository(Bar::class)->myFunction($foo)->getQuery()->execute();

return new JsonResponse($bars);

不幸的是,这个 returns 我是 EagerCursor class 而不是我的数组集合。 我也试过 toArray 没有结果..

我在这里、Google 和 doctrine Doc 上进行了一些搜索,但没有结果。

你有什么技巧可以让我的 ArrayCollection 像教义一样返回吗?

我不确定为什么你需要一个 ArrayCollection 只是为了将它塞进 JSONResponse 但你需要手动创建它:

$bars = new ArrayCollection($this->dm->getRepository(Bar::class)->myFunction($foo)->getQuery()->execute()->toArray());