我正在尝试使用数据库中的数据在视图中呈现图表。我遇到的问题是:
GET http://localhost:8000/yamazummi/chart 500 (Internal Server Error)
这是我在Laravel中使用ChartJs的触发时间。我不知道哪里可能出了错。
这是我添加的所有代码:
控制器:
public function chart(){
$data = DB::table('bandelete')
->join('posto', 'posto.id', '=', 'bandelete.posto_id')
->join('silhueta', 'silhueta.id', '=', 'bandelete.silhueta_id')
->select('posto.cod as pcod', 'silhueta.name as sname', DB::raw('SUM(va + nva) as tempo'))
->where('posto_id', '=', 1)
->get();
return response()->json($data);
}
查看: chartjs脚本:
var url = "{{url('yamazummi/chart')}}";
var silhuetas = new Array();
var tempo = new Array();
$(document).ready(function(){
$.get(url, function(response){
response.forEach(function(data){
silhuetas.push(data.sname);
tempo.push(tempo);
});
var ctx = document.getElementById("canvas").getContext('2d');
var myChart = new Chart(ctx, {
type:'bar',
data:{
labels:silhuetas,
datasets:[{
label:'Tempo',
data:tempo,
borderWidth:1
}]
},
options:{
scales: {
yAxes:[{
ticks:{
beginAtZero:true
}
}]
}
}
});
});
});
我渲染了吗
<canvas id="canvas" height="280" width="600"></canvas>
我的路线:
Route::get('yamazummi/chart', 'BandeleteController@chart');
链接到我的应用程序的脚本:
<script src="https://cdnjs.com/libraries/Chart.js" charset="utf-8"></script>
编辑:
打开路线时出现错误:
SQLSTATE [42000]:语法错误或访问冲突:1140如果没有GROUP BY子句,则不具有GROUP列的GROUP列(MIN(),MAX(),COUNT(),...)混合是非法的( 42000)