2016-03-03 54 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