我有JsonResponse的问题。这是我的代码:
$repo = $this->getDoctrine()->getRepository($repoName);
$users = $repo->findAll();
return new JsonResponse($users);
所以当我使用var_dump($users)
时,我有所有数据的数组,但JsonResponse返回空数组。
有谁知道会发生什么?
答案 0 :(得分:23)
这是因为序列化为json。 JsonResponse
下方使用json_encode
方法。您有php
不知道如何序列化的实体数组。
所以你需要的是一个普通的数组。要获得它,您需要使用getArrayResult()
$repo = $this->getDoctrine()->getRepository($repoName);
$users = $repo->createQueryBuilder('q')
->getQuery()
->getArrayResult();
return new JsonResponse($users);