用于动态标签的Laravel php数组,带图形控件/图表:4

时间:2017-04-09 01:38:06

标签: php arrays laravel graph

当我尝试使用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])

我该怎么做?

0 个答案:

没有答案