Chart.js неопределенная переменная в поле зрения - PullRequest
2 голосов
/ 12 мая 2019

Я хочу создать график с помощью chart.js и показать его в моем представлении.Но после анализа данных в представлении они всегда идут с неопределенной переменной (в моем случае, bulan и pendapatan не определены).

Это мой контроллер для анализа данных

$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
                        }
                    }]
                }
            }
        });

Я не очень хорошо знаю, как передать данные в скрипт, поэтому мне нужен совет.Спасибо!

1 Ответ

2 голосов
/ 12 мая 2019

Вы пробовали использовать {{ 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
                        }
                    }]
                }
            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...