2016-03-03 52 views
1

我试图找出如何让JSON阵列格式如下Symfony2的MySQL的:取回阵列,并得到JSON阵列没有列名

[ 
    ["2016-02-26","5190","1253","425","123"], 
    ["2016-02-27","5209","1114","521","214"], 
    ["2016-02-28","5142","1425","412","156"], 
    ["2016-02-29","5523","1365","632","198"], 
    ["2016-03-01","5125","1452","523","152"], 
    ["2016-03-02","5000","1245","741","286"] 
    ] 

,但目前我正在

[{"date":"2016-02-26","visitors":"5190","registered":"1253","downloaded":"425","sticky_activity":"123"}, 
    {"date":"2016-02-27","visitors":"5209","registered":"1114","downloaded":"521","sticky_activity":"214"}, 
    {"date":"2016-02-28","visitors":"5142","registered":"1425","downloaded":"412","sticky_activity":"156"},{"date":"2016-02-29","visitors":"5523","registered":"1365","downloaded":"632","sticky_activity":"198"}, 
    {"date":"2016-03-01","visitors":"5125","registered":"1452","downloaded":"523","sticky_activity":"152"}, 
    {"date":"2016-03-02","visitors":"5000","registered":"1245","downloaded":"741","sticky_activity":"286"}] 

这里是我的功能,如果是要去帮助

public function dataAction(Request $request){ 
    $em = $this->getDoctrine()->getEntityManager(); 
    $connection = $em->getConnection(); 

    $sqlQuery = "SELECT DATE_FORMAT(date, \"%Y-%m-%d\") as date,visitors, registered, downloaded, sticky_activity 
        FROM engagement"; 

    $statement = $connection->prepare($sqlQuery); 

    $statement->execute(); 
    $queryResult = $statement->fetchAll(); 

    return new JsonResponse($queryResult); 
} 
+0

使用'array_values()' – malcolm

+0

我猜'GROUP_CONCAT()'是你在找什么,不幸的是我不能再进一步 –

+0

@malcolm不,它没有帮助。我仍然在数组中获得列名 – julie

回答

2

返回此:

return new JsonResponse(array_map('array_values', $queryResult)); 

顺便说一句,你还应该避免直接的SQL调用DQLquery builders。这些都是使用Doctrine的良好做法。其目标是尽可能避免SQL。

+0

是的,我会使用DQL,但'参与'不是一个类,它只是一个表 – julie