您好,我一直在网上寻思,找不到答案。我正在尝试使用 Charts.js 显示图表。
在我的 route :
Route::get('surveys/chart', 'AboutController@projectChartData');
在我的 AboutController 中:我使用 json_encode() 将数据传递到我的 View
public function projectChartData()
{
$devlist = json_encode(DB::table('surveys')
->select(DB::raw('MONTHNAME(updated_at) as month'), DB::raw("DATE_FORMAT(updated_at,'%Y-%m') as monthNum"),
DB::raw('count(*) as projects'))
->groupBy('monthNum')
->get());
return view('pages.chart',compact('devlist'));
}
在我看来:
<canvas id="projects-graph" width="1000" height="400"></canvas>
<script type="text/javascript">
$(function(){
$.getJSON("surveys/chart", function (result) {
alert('');
var labels = [],data=[];
for (var i = 0; i < result.length; i++) {
labels.push(result[i].batch);
data.push(result[i].created_at);
}
var buyerData = {
labels : labels,
datasets : [
{
fillColor : "rgba(240, 127, 110, 0.3)",
strokeColor : "#f56954",
pointColor : "#A62121",
pointStrokeColor : "#741F1F",
data : data
}
]
};
var buyers = document.getElementById('projects-graph').getContext('2d');
new Chart(buyers).Line(buyerData, {
bezierCurve : true
});
});
});
</script>
问题它不显示图表。但是,如果我不使用 json_encode 返回数据,它会给我 array() 但 charts.js 需要 json。
我真的很难在 laravel 5 中实现图表(morris、lavacharts、highcharts、charts.js),因为谷歌没有太多合适的教程。如果有人能给我不错的包裹,我可以使用。非常感谢..
最佳答案
您将传递您的数据以供查看,在您的 View 中您将像这样json_encode {!! json_encode($devlist) !!
关于laravel - 在 Laravel 5.1 中实现 Charts.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31176681/