在我的控制器中,我创建了要绘制的数组
function chart() {
$results = $this->Visit->query(
"SELECT date(visits.created) as visit_date,
Count(visits.id) AS count_visits
FROM visits
GROUP BY date(visits.created)"
);
foreach($results AS $result) {
$row = array(
$result[0]['visit_date'],
$result[0]['count_visits']
);
$chartData[] = json_encode($row);
}
pr($chartData);
}
pr($chartData) 给出以下数组
Array
(
[0] => ["2012-07-11","5"]
[1] => ["2012-07-13","1"]
[2] => ["2012-07-14","1"]
)
在图表视图中我有
google.load('visualization', '1.0', {'packages':['corechart']});
google.setOnLoadCallback(drawChart);
function drawChart() {
// Create the data table.
var data = google.visualization.arrayToDataTable($chartData);
var options = {
title: 'Visits by Date',
hAxis: {title: 'Date', titleTextStyle: {color: 'black'}}
};
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
但这并没有给我一个图表..没有错误......只是没有图表..
如果我手动输入一个数组来测试我的视图,它工作正常......例如,如果我替换..
var data = google.visualization.arrayToDataTable($chartData);
使用 Google Chart 示例中的以下格式,它会生成一个漂亮的柱形图
var data = google.visualization.arrayToDataTable([
['Date', 'Count'],
['2012-07-11', 5],
['2012-07-13', 1],
['2012-07-14', 1]
]);
几个问题: - 我如何获得 var 数据数组中的标题?- 数组中的双引号或单引号会有所不同吗?- 我是否将数组 $chartData 从 php 正确传递到 Google 图表 javascript?- 谷歌示例在数组周围有“[]”,我如何在我的数组周围也有这些?
(顺便说一句,我知道所有关于 cakephp 的 Find(all) 的信息,但我只是迷失在关于如何获得我想要的东西的文档中,而且 sql 更容易)