javascript - Chart.js View 中 undefined variable

标签 javascript laravel charts

我想使用 Chart.js 创建一个图表并在我的 View 中显示它。但是将数据解析到 View 后,它总是带有 undefined variable (在我的例子中,bulan和pendapatan是未定义的)。

这是我解析数据的 Controller

$query = DB::table("transaksipenjualan")->select(DB::raw('EXTRACT(MONTH FROM tanggaltransaksi) AS Bulan, SUM(total) as Pendapatan'))
        ->where('tanggalTransaksi', 'LIKE', '%'.$request->tahun.'%')
        ->groupBy(DB::raw('EXTRACT(MONTH FROM tanggaltransaksi)'))
        ->get();

        $count=count($query);
        $label  = [];
        $data   = [];

        for($i=0;$i<$count;$i++)
        {
            $label[$i]  = $query[$i]->Bulan;
            $data[$i]   = $query[$i]->Pendapatan;
        }

        return view('printPreview/pendapatanBulanan',  ['data'=>$query, 'bulan'=>$label, 'pendapatan'=>$data]);

这是我获取数据的脚本

 var ctx = document.getElementById("canvas").getContext('2d');
          var myChart = new Chart(ctx, {
            type: 'bar',
            data: {
                labels: bulan,
                datasets: [{
                    label: 'Nilai Pendapatan',
                    data: pendapatan,
                    borderWidth: 1
                }]
            },
            options: {
                scales: {
                    yAxes: [{
                        ticks: {
                            beginAtZero:true
                        }
                    }]
                }
            }
        });

我不太清楚如何将数据传递给脚本,所以我需要一些建议。谢谢!

最佳答案

您是否尝试过使用{{ json_encode($php_variable) }}?例如:

 var ctx = document.getElementById("canvas").getContext('2d');
          var myChart = new Chart(ctx, {
            type: 'bar',
            data: {
                labels: {{ json_encode($bulan) }},
                datasets: [{
                    label: 'Nilai Pendapatan',
                    data: {{ json_encode($pendapatan) }},
                    borderWidth: 1
                }]
            },
            options: {
                scales: {
                    yAxes: [{
                        ticks: {
                            beginAtZero:true
                        }
                    }]
                }
            }
        });

关于javascript - Chart.js View 中 undefined variable ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56097029/

相关文章:

javascript - 当属性是可选的时,如何在 Typescript 中解构对象?

javascript - 无法使 Angular sanitize/ng-bind-html 工作

javascript - 是否可以将所有类型的屏幕分辨率移动到 PC 的站点?

javascript - onmouseover 请求时 ID 未定义

php - Laravel echo 不接收事件

javascript - 在 Laravel 中通过 js onclick 事件提交数据

Laravel(Lumen) 更新时数组数据的唯一验证规则

mysql - 如何将所有 50 个州设置为国家代码为 'US'

c# - 将图表导出到 Excel 文件

javascript - 如何更新charts.js的值字段中的JS变量?