首页 > 解决方案 > 我想使用 Laravel 在图表 js 上显示项目名称和时间

问题描述

我是 Laravel 的初学者,我正在尝试在 chart.js 上显示项目名称和时间。不幸的是,图表上没有显示数据;我怎么能证明这一点?

控制器

图表脚本

 <script>
var ctx = document.getElementById('myChart');

var myChart = new Chart(ctx, {

    type: 'bar',
    @foreach($hour_logs   as  $key=>$value)
    data: {

        //labels: ['Red','Purple'],

          labels: {{$value}},

        datasets: [{
    
            data: {{$value}},
            backgroundColor: [
                'rgba(54, 162, 235, 0.2)', 
            ],
            borderColor: [
                'rgba(54, 162, 235, 1)', 
            ],
            borderWidth: 1
        }]
    },
    @endforeach
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero: true
                }
            }]
        }
    }
});
</script>

返回响应

[
  "Joylinkhk: 13,",
  "HorizonTechnologies: 2,",
  "Alahazrat: 9,",
  "j2w: 0,"
]
on the left side project name and on the right side hours 


dd($hour_logs)

array:4 [
  0 => "Joylinkhk: 13,"
  1 => "HorizonTechnologies: 2,"
  2 => "Alahazrat: 9,"
  3 => "j2w: 0,"
]

标签: laravel

解决方案


在将复杂的数据结构从 PHP 传递到 JavaScript 时,您很可能希望将它们转换为 JSON。

您可以使用json_encode(). 如果您使用的是 Larvel 集合,则可以使用->toJson().


推荐阅读