当我尝试使用consoletvs / charts创建图形时出现一个奇怪的错误:4. * class
我运行一个mysql查询,我想从结果中生成一个图表。到目前为止一切都很好,除了标签。
我会显示代码,以便您可以看到我的意思
$povprecje_all_24h=collect($query_povprecje_all_24h)->all();
$data_24 = '';
$mac_24 = array();
foreach ($povprecje_all_24h as $povp24) {
$data_24 = $data_24.(round(abs($povp24->PercentageDayPr - $povp24->PercentageAllPr)/$povp24->PercentageAllPr*100, 2) + round(abs($povp24->PercentageDaySt-$povp24->PercentageAllSt)/$povp24->PercentageAllSt*100, 2)).',';
$krava=Cow::find($povp24->cowid);
$mac_24[] = $krava->cow_name.' - '.$povp24->mac;
}
//$graph_bar_numb = count($mac_24); // so far so good... than i create a new chart
$chart_24 = Charts::multi('bar', 'chartjs')
->responsive(false)
->dimensions(0, 500)
->colors(['#ca8585', '#00ff00', '#0000ff'])
->labels([$mac_24[0], $mac_24[1], $mac_24[2], $mac_24[3], $mac_24[4], $mac_24[5], $mac_24[6]])
//->labels([$mac_24])
//->$labels
//->labels(['24866c07', '5009e02', '7f590a95', '948d06a0', '9c09c191', 'c00600be', 'f64bbed6'])
->dataset('Potrebuje pozornost', [$data_24]);
所以当我插入代码 - >标签([$ mac_24 [0],$ mac_24 [1],$ mac_24 [2],$ mac_24 [3])时,条形图正在工作......
当我手动插入标签时,它也正常工作 像这样: - >标签(['24866c07','5009e02','7f590a95','948d06a0','9c09c191','c00600be','f64bbed6'])
但是当我这么做时 - >标签([$ mac_24])我收到错误
59c3c83c254042cb2d7aaa267eb1e6bcbdcf976b.php第0行中的FatalErrorException: 方法Illuminate \ View \ View :: __ toString()不得抛出异常,捕获ErrorException:Array to string conversion(查看:/ var / www / XXX / vendor / consoletvs / charts / resources / views / chartjs / multi / bar。 blade.php)
我想动态生成标签,所以如果我在数组中有5个值,我希望图表有5列。
标签的代码是:
->Labels([$mac_24[0], $mac_24[1], $mac_24[2], $mac_24[3], $mac_24[4])
或当我有2个值时,代码将是:
->Labels([$mac_24[0], $mac_24[1])
我该怎么做?