0

我正在尝试以这种格式获取此数组输出,以供 Yii 中的 Chart.js 使用。

这是我需要得到的数组:

Array
(
    [0] => Array
        (
            [value] => 50
            [color] => rgba(66,66,66,1)
            [label] => Hunde
        )

    [1] => Array
        (
            [value] => 25
            [color] => rgba(66,66,66,1)
            [label] => Katzen
        )
)

这是产生上述数组的代码:

$array = array(
    array(
        "value" => 50,
        "color" => "rgba(66,66,66,1)",
        "label" => "Hunde"
    ),
    array(
        "value" => 25,
        "color" => "rgba(66,66,66,1)",
        "label" => "Katzen"
    ),
);

这是我正在输入的代码:

protected function modulesArray(){
    $modules = Module::model()->findAll();

    foreach ($modules as $module) {
        $array[] = array("value" => 50, "color" => "$module->color", 
            "label" => "$module->category");

    }
    return $array;  
}

这是我得到的数组输出:

Array
(
    [0] => Array
        (
            [value] => 50
            [color] => #b83333
            [label] => Tyres
        )

    [1] => Array
        (
            [value] => 50
            [color] => #3276eb
            [label] => Hydraulics
        )    
)

问题是,除了颜色(允许将其放入十六进制值)之外,我似乎没有看到任何区别,但是,当我将数组合并到上面的数组时,图表似乎加载得很好。这是否意味着我得到的数组输出很好?

我正在努力解决它,因为一切似乎都很好!我不知道我做错了什么。

PS: -

这是小部件部分代码:

<?php 
    $this->widget(
        'ext.chartjs.widgets.ChPolar', 
        array(
            'width' => 250,
            'height' => 250,
            'htmlOptions' => array(),
            'drawLabels' => true,
            'datasets' => $modulesArray,
            'options' => array()
        )
    );
?>
4

0 回答 0