沃梦达 / 编程问答 / php问题 / 正文

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

Return array, not object from Doctrine query - Symfony2(返回数组,而不是来自 Doctrine 查询的对象 - Symfony2)

本文介绍了返回数组,而不是来自 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);

这篇关于返回数组,而不是来自 Doctrine 查询的对象 - Symfony2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:返回数组,而不是来自 Doctrine 查询的对象 - Symfony2

基础教程推荐