返回数组,而不是来自 Doctrine 查询的对象 - Symfony2
我正在使用这个:
$this->getDoctrine()->getRepository('MyBundle:MyEntity')->findAll(array(), Query::HYDRATE_ARRAY);
我认为应该确保它返回一个数组的数组,但它仍然返回一个对象数组.
I thought that should ensure it returns an array of an array, but it still returns an array of objects.
我需要将整个结果作为数组的数组返回,这样我就可以做这种事情(愚蠢的例子,但它解释了我的意思):
I need the whole result returned as an array of an array so I can do this kind of thing (silly example, but it explains what I mean):
<?php
$result = $this->getDoctrine()->getRepository('MyBundle:MyEntity')->findAll('return-an-array');
?>
This is the age of the person at the 5th record: <?php echo $result[4]['age']; ?>
推荐答案
根据这个EntityRepository 类,findAll
不接受多个参数.
According to this EntityRepository class, findAll
don't take multiple arguments.
下面的代码应该做你想做的事
The code below should do what you want
$result = $this->getDoctrine()
->getRepository('MyBundle:MyEntity')
->createQueryBuilder('e')
->select('e')
->getQuery()
->getResult(DoctrineORMQuery::HYDRATE_ARRAY);
相关文章