Symfony JSON输出包括字段名称

时间:2015-04-02 19:15:16

标签: php json symfony

我正试图在字段'action'中从我的数据库中提取一个值,它是一个JSON字符串但是我现在将它存储为单个值,这就是:

'command'=>'get','target'=>'location'

但是,当我从数据库中提取它时,它包含了我不想要的字段名称,请参阅下文:

[{"action":"'command'=>'get','target'=>'location'"}]

我的代码在这里:

$em = $this->getDoctrine()->getManager();   
    $query = $em->createQueryBuilder();
    $q = $query->select('z.action')
    ->from('AppBundle:ZeusUsers', 'z')
    ->where('z.id = ?1')
    ->setParameter(1, $id)
    ->getQuery();


    $action = $q->getResult();
    return new Response(json_encode($action));

所以我只需要知道如何获取不包含字段名称的字段值?

2 个答案:

答案 0 :(得分:1)

尝试此方法 getSingleScalarResult()

但请记住,如果它找不到任何东西,它将抛出异常

http://doctrine-orm.readthedocs.org/en/latest/reference/dql-doctrine-query-language.html#single-scalar-hydration

答案 1 :(得分:0)

您希望使用getSingleResult()代替getResult()来获取您的字段值。如果没有找到结果或者有多个结果(setMaxResults(1)将补救此部分),它将抛出异常。

https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/AbstractQuery.php#L802