我正在尝试将Chartjs与PHP结合使用,并在我的网站上显示一个图表。为此,我从数据库中获取“标签”并将其添加到这样的数组中:
ChartController.php
:
for($i = 0; $i < 5; $i++){
$labels[] = Carbon::now()->startOfWeek()->addDay($i)->format("d M");
}
上面给我下面的数组,我需要将其用作标签:
array:5 [▼
0 => "16 Jul"
1 => "17 Jul"
2 => "18 Jul"
3 => "19 Jul"
4 => "20 Jul"
]
现在,ChartJS标签需要这样设置:
labels(['16 Jul', '17 Jul', '18 Jul', '19 Jul', '20 Jul'])
为此,我使用implode()
函数,如下所示:
labels("['".implode('\',\'', $labels). "']")
哪个给我这个输出:
['16 Jul','17 Jul','18 Jul','19 Jul','20 Jul']
但是,这给了我以下错误:
传递给Fx3costa \ LaravelChartJs \ Builder :: labels()的参数1必须为数组类型,给定字符串,在/srv/users/serverpilot/apps/milestonechecker/app/Http/Controllers/ChartController.php中调用第42行
答案 0 :(得分:1)
您试图这样做:labels([String]),但需要将数组作为标签传递。请尝试以下操作:
labels($labels);