将Chartjs与Laravel结合使用的问题

时间:2019-05-27 14:04:54

标签: javascript php laravel charts

我正在尝试使用数据库中的数据在视图中呈现图表。我遇到的问题是:

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)

0 个答案:

没有答案