javascript - 在 Laravel 中使用 chartjs 的问题
问题描述
我正在尝试使用数据库中的数据在我的视图中呈现图表。我遇到的问题是:
GET http://localhost:8000/yamazummi/chart 500 (Internal Server Error)
这是我第一次将 ChartJs 与 Laravel 一起使用。我不知道我可能哪里出错了。
这是我添加的所有代码:
控制器:
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)
解决方案
推荐阅读
- c# - 为什么 sizeof 在零字段结构中返回 1
- xml - Google 表格中的 IMPORTXML 语法问题
- python - ModuleNotFoundError:没有名为“的模块”
' - c# - 如何让程序每次从列表中选择不同的字符串,而不是一遍又一遍地编写相同的字符串?
- c++ - C++ / Qt:如何检测主机名或 IP 地址何时引用当前系统?
- javascript - VueJs 中的动态类和颜色绑定?
- ibm-mq - 如何修复未解析的交换问题 IBM MQ 消息到 BizTalk
- r - 将带有图像的 .Docx 转换为 Rmarkdown 效果不佳
- ruby-on-rails - 在 hash 的 map 块中调用函数
- android - Retrofit 中从 AsyncTask 到 Coroutines 的转换:IllegalArgumentException