因此,我想从数据库中输入条形图的数据,我已经弄清楚了所有内容,但是某些方法不起作用...
这是视图文件的一部分,
var barChartData = {
labels : {{print_r($action_names, true)}} ,
datasets: [
{
label : 'Electronics',
fillColor : 'rgba(2, 24, 222, 1)',
strokeColor : 'rgba(2, 24, 222, 1)',
pointColor : 'rgba(2, 24, 222, 1)',
pointStrokeColor : '#c1c7d1',
pointHighlightFill : '#fff',
pointHighlightStroke: 'rgba(2, 24, 222, 1)',
data : {{print_r($action_count,true)}}
}
]
}
这不起作用,它显示空白图表。
{{print_r($action_names, true)}}
的输出为["OBJECT1","OBJECT1","OBJECT3"]
并且{{print_r($action_names, true)}}
的输出为[1,2,3]
现在,以完全相同的格式,如果我只是将值以文本形式发布,它可以正常工作,则图表看起来很好,但是当我使用变量时,什么都没有-空白。我需要使用该变量,因为从中获取数据的数据库会经常更改。
答案 0 :(得分:0)
您不能放置这样的php函数
labels : {{print_r($action_names, true)}}
...
data: {{print_r($action_count,true)}}
尝试隔离到一个变量中
labels : { {$action_names} }
...
data: { {$action_count} }
答案 1 :(得分:0)
当您想在脚本或类似的东西中使用数据时,您必须对其进行转义,基本上不要使用{{something}},而要使用{!! something !!}
答案 2 :(得分:0)
使用以下语法从现有的php数组中定义新的javascript数组:
var labelValues = [<?php echo '"'.implode('","', $php_array).'"' ?>];
答案 3 :(得分:0)
您只需使用implode()
函数即可打印阵列数据,
labels : [
{{implode(",", $action_names)}}
]
&
data : [
{{implode(",", $action_count)}}
]