6

有一个 QueryBuilder 结果

$query = $em->createQuery("SELECT....");

通过 iterate() 方法获取它们

http://doctrine-orm.readthedocs.org/en/2.0.x/reference/batch-processing.html

$objects = $query->iterate();

我现在能够

foreach ($objects as $object) {
    $object = $object[0];
    //do something..
    $object->getObjectId();
    ...
}

但...

//after the iterate() call, before to foreach
echo sizeof($objects); //or count($objects);
//always "1", even if i have 10000 foreach loops

为什么以及如何解决?

4

2 回答 2

18

$query->iterate()只会给你一个不可数的迭代器。考虑编写第二个查询COUNT(result),或使用分页器

于 2013-02-09T16:37:06.863 回答
-1

也许它对你有帮助

于 2013-02-07T17:07:04.640 回答