Php 返回数组,而不是来自条令查询的对象-Symfony2

Php 返回数组,而不是来自条令查询的对象-Symfony2,php,symfony,doctrine-orm,doctrine,Php,Symfony,Doctrine Orm,Doctrine,我用这个: $this->getDoctrine()->getRepository('MyBundle:MyEntity')->findAll(array(), Query::HYDRATE_ARRAY); 我认为这应该确保它返回一个数组中的一个数组,但它仍然返回一个对象数组 我需要整个结果作为数组的数组返回,这样我就可以做这种事情(愚蠢的例子,但它解释了我的意思): 这是第五条记录中的人的年龄: 根据这一点,findAll不接受多个参数 下面的代码应该满足您的要求 $re

我用这个:

$this->getDoctrine()->getRepository('MyBundle:MyEntity')->findAll(array(), Query::HYDRATE_ARRAY);
我认为这应该确保它返回一个数组中的一个数组,但它仍然返回一个对象数组

我需要整个结果作为数组的数组返回,这样我就可以做这种事情(愚蠢的例子,但它解释了我的意思):


这是第五条记录中的人的年龄:
根据这一点,
findAll
不接受多个参数

下面的代码应该满足您的要求

$result = $this->getDoctrine()
               ->getRepository('MyBundle:MyEntity')
               ->createQueryBuilder('e')
               ->select('e')
               ->getQuery()
               ->getResult(\Doctrine\ORM\Query::HYDRATE_ARRAY);

您还可以使用
getArrayResult()
函数代替
getResult()
。它返回一个数据数组:

$query = $em->createQuery("SELECT test FROM namespaceTestBundle:Test test");
$tests = $query->getArrayResult();

使用
getScalarResult()
获取对象被截断为字符串的数组结果。

我有相同的问题,并且它给了我这个错误“错误:在控制器中找不到类'apb\appassBundle\Controller\doctor\ORM\Query”在
\Doctrine\ORM\Query
thanx上使用一个前导斜杠,在我添加Use类并只添加Query::hydrome\u数组时,它也起作用
$query = $em->createQuery("SELECT test FROM namespaceTestBundle:Test test");
$tests = $query->getArrayResult();