如何将Doctrine结果集转换为数组?

时间:2012-05-14 02:38:29

标签: php doctrine doctrine-orm

我使用以下内容获取结果集:

$em = $this->getDoctrine()->getEntityManager();
  $test = $em->getRepository('RestWebServiceBundle:Test')->findall();

如何将$ test转换为数组?

toArray似乎不起作用。

1 个答案:

答案 0 :(得分:10)

我相信有一种水合模式可以生成数组而不是对象:

所以你使用:Query::HYDRATE_ARRAY假设findall方法没有被覆盖。

$test = $em->getRepository('RestWebServiceBundle:Test')->findall(Query::HYDRATE_ARRAY);

如果被覆盖,您可以将其用作getResult来电的参数。

Doctrine2手册中的示例:

$users = $query->getResult(Query::HYDRATE_ARRAY);

见这里: http://doctrine-orm.readthedocs.org/en/latest/reference/dql-doctrine-query-language.html#array-hydration