Ran*_*ngh 8 php doctrine-orm symfony-2.1
我用这个:
$users = $em->getRepository('UserBundle:User')->getallUsers($search);
$response = new Response(json_encode($users));
$response->headers->set('Content-Type', 'application/json');
return $response;
Run Code Online (Sandbox Code Playgroud)
用户是多个实体而不是单个结果.
但是我得到了这个:
[{},{},{},{},{},{}]
Run Code Online (Sandbox Code Playgroud)
我想要的东西:
[ { label: $user.getName(), value: $user.getId() }, ... ]
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
编辑:我也试过json_encode($users->toArray())然后我得到这个错误:
调用
toArray()非对象上的成员函数
您需要有一种方法来序列化您的对象,您不能期望json_encode神奇地猜测允许对哪些字段进行编码.
我推荐用于此任务的好捆绑包是JMSSerializerBundle.在使用之前,请务必仔细阅读文档!
最终结果可能如下所示:
Run Code Online (Sandbox Code Playgroud)$users = $em->getRepository('UserBundle:User')->getallUsers($search); $response = new Response($container->get('serializer')->serialize($users, 'json'));
| 归档时间: |
|
| 查看次数: |
13074 次 |
| 最近记录: |