我正在使用这个:
$users = $em->getRepository('UserBundle:User')->getallUsers($search);
$response = new Response(json_encode($users));
$response->headers->set('Content-Type', 'application/json');
return $response;
用户是多个实体,而不是单个结果。
但我得到这个:
[{},{},{},{},{},{}]
我想要这样的东西:
[ { label: $user.getName(), value: $user.getId() }, ... ]
我该怎么做?
编辑:我也尝试了json_encode($users->toArray())
然后出现此错误:
调用非对象上
toArray()
的成员函数
你需要
有一种方法来序列化你的对象,你不能指望json_encode
神奇地猜测允许对哪些字段进行编码。
我为此任务推荐的一个很好的捆绑包是JMSSerializerBundle。确保在使用前仔细阅读文档!
最终结果可能如下所示:
$users = $em->getRepository('UserBundle:User')->getallUsers($search); $response = new Response($container->get('serializer')->serialize($users, 'json'));
尝试{{ your_variable|raw }}
对不起,迟到了