这是我的symfony控制器的代码:
$em=$this->getDoctrine()->getManager();
$queryIndex = $em->createQuery( 'SELECT g.index
FROM MySpaceMyBundle:Graphique g');
$array = array_map('current', $queryIndex);
$response = new Response();
$data = json_encode($array, JSON_NUMERIC_CHECK);
$response->headers->set('Content-Type', 'application/json');
$response->setContent($data);
return $response;
这个php脚本返回一个带有数字字符的数组,所以这段代码返回了以下json响应:
[1700,1200,1200,1304,1800,2012,2048,1048,3000,5421]
但是如果我在控制器中有很多查询以便在highchart.js中将它们用于不同的东西,我该怎么办呢?
也就是说,我想:
- 第一个学说查询的第一个响应,以便拥有系列(图片列)
- 第二个学说查询的第二次响应是针对 yAxis
中的设置数据进行的- 第三个学说查询的第三次响应是针对 xAxis
中的设置数据进行的
所以我想返回许多对应于许多教条查询的数组,但是为了在我的视图中使用它们来设置我的图表。
请注意,我想要的结果不是数组数组,我想返回许多这样的数组,并在我的高清脚本中使用它们:
/*the first array of my first query*/
[1700,1200,1200,1304,1800,2012,2048,1048,3000,5421]
/*the second array of my second query*/
[200,558,...........,154]
/*the third array of my third query*/
[another array of numeric values]
...
不是这样:
{ "my_first_result": [1700,1200,1200,1304,1800,2012,2048,1048,3000,5421], "my_other_result" : [200,558,...........,154] }
or
[[first array], [second array], ...]
这是我在视图中呈现图表的脚本:
$(document).ready(function() {
var options = {
chart: {
renderTo: 'container',
type: 'column'
},
series: [{}]
};
var url = "{{ path('myPathToMyPage') }}";
$.getJSON(url, function(data) {
options.series[0].data = data;
var chart = new Highcharts.Chart(options);
});
});
所以在这里,我现在唯一的数组来自我的第一个查询,对应于我数据库中的数值,并在此处用于高图图形系列(柱形图)。现在我想再做两个查询来设置yAxis和xAxis。
答案 0 :(得分:1)
编码的json只是纯文本,你可以这样做,例如:
$data = json_encode($array, JSON_NUMERIC_CHECK) . "\n" . json_encode($array2, JSON_NUMERIC_CHECK);
在此示例中,json字符串由换行符分隔。