1

我正在使用以下内容获得结果集:

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

如何将 $test 转换为数组?

toArray 似乎不起作用。

4

1 回答 1

10

我相信有一种 Hydration 模式会生成数组而不是对象:

所以你使用: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

于 2012-05-14T02:43:59.957 回答