【问题标题】:Symfony2 MySql: Fetch array and get JSON array without column namesSymfony2 MySql:获取数组并获取没有列名的 JSON 数组
【发布时间】:2016-03-03 13:51:52
【问题描述】:

我正在尝试弄清楚如何获取以下格式的 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);
}

【问题讨论】:

  • 使用array_values()
  • 我猜GROUP_CONCAT() 就是你要找的东西,不幸的是我不能再进一步了
  • @malcolm 不,它没有帮助。我仍然在数组中获取列名

标签: php mysql arrays json symfony


【解决方案1】:

返回这个:

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

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

【讨论】:

  • 是的,我会使用 DQL,但“参与”不是一个类,它只是一个表
猜你喜欢
  • 2023-04-04
  • 1970-01-01
  • 2020-07-04
  • 1970-01-01
  • 2021-08-29
  • 1970-01-01
  • 2017-09-28
  • 2012-04-27
  • 1970-01-01
相关资源
最近更新 更多