8

我正在使用这个:

    $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()非对象的成员函数

4

2 回答 2

6

您需要有一种方法来序列化您的对象,您不能期望json_encode神奇地猜测允许对哪些字段进行编码。

我为此任务推荐的一个好包是JMSSerializerBundle。确保在使用之前仔细阅读文档!

最终结果可能如下所示:

$users = $em->getRepository('UserBundle:User')->getallUsers($search);
$response = new Response($container->get('serializer')->serialize($users, 'json'));
于 2012-08-08T06:34:49.660 回答
0

尝试{{ your_variable|raw }}

抱歉我迟到了

于 2013-04-28T11:57:21.467 回答