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();