Highcharts 如何在Yii2 Highchart中传递数据库值
我正在尝试从存储库中使用Yii2和highchart小部件创建图表 这是我的海图代码:Highcharts 如何在Yii2 Highchart中传递数据库值,highcharts,yii2,Highcharts,Yii2,我正在尝试从存储库中使用Yii2和highchart小部件创建图表 这是我的海图代码: echo Highcharts::widget([ 'scripts' => [ 'highcharts-more', 'modules/exporting', 'themes/grid' ], 'options' => [ 'title' =>
echo Highcharts::widget([
'scripts' => [
'highcharts-more',
'modules/exporting',
'themes/grid'
],
'options' => [
'title' => ['text' => NULL],
'xAxis' => ['categories' => $chart_x_axis],
'yAxis' => ['title' => ['text' => 'Income']],
'series' => $data_series,
'credits' => ['enabled' => false],
],
]);
首先,我手动创建数据系列:
$data_series = array(
array(
'name'=>'February',
'data'=>array(10000,20000,3000),
),array(
'name'=>'November',
'data'=>array(20000,10000),
),array(
'name'=>'December',
'data'=>array(20500),
)
);
结果如下:
=================Json Format :
[{"name":"February","data":[10000,20000,3000]},{"name":"November","data":[20000,10000]},{"name":"December","data":[20500]}]
================= Array Format :
Array
(
[0] => Array
(
[name] => February
[data] => Array
(
[0] => 10000
[1] => 20000
[2] => 3000
)
)
[1] => Array
(
[name] => November
[data] => Array
(
[0] => 20000
[1] => 10000
)
)
[2] => Array
(
[name] => December
[data] => Array
(
[0] => 20500
)
)
)
高位图表正常显示,但当我尝试从模型加载时,结果与上面相同:
=================Json Format :
[{"name":"February","data":["3000","10000","20000"]},{"name":"November","data":["10000","20000"]},{"name":"December","data":["20500"]}]
================= Array Format :
Array
(
[0] => Array
(
[name] => February
[data] => Array
(
[0] => 3000
[1] => 10000
[2] => 20000
)
)
[1] => Array
(
[name] => November
[data] => Array
(
[0] => 10000
[1] => 20000
)
)
[2] => Array
(
[name] => December
[data] => Array
(
[0] => 20500
)
)
)
数据系列未显示。谁能告诉我哪里出了问题吗?在您的模型创建方法中:
public method getData(){
$data_series = array(
array(
'name'=>'February',
'data'=>array(10000,20000,3000),
),array(
'name'=>'November',
'data'=>array(20000,10000),
),array(
'name'=>'December',
'data'=>array(20500),
)
);
return $data_series;
}
在你看来
use use app\models\highchart;
echo Highcharts::widget([
'scripts' => [
'highcharts-more',
'modules/exporting',
'themes/grid'
],
'options' => [
'title' => ['text' => NULL],
'xAxis' => ['categories' => $chart_x_axis],
'yAxis' => ['title' => ['text' => 'Income']],
'series' => $highchar->getData,
'credits' => ['enabled' => false],
],
]);
对不起,这是我的愚蠢。 这个问题已经解决了 我不知道highcart接受整数数据类型,因此我将代码更改为:
foreach ($months as $m)
{
$_data_series[] = $m["omset_nominal"];
}
进入:
foreach ($months as $m)
{
$_data_series[] = (int)$m["omset_nominal"];
}
它不起作用,您的代码只是在控制器中静态地移动到模型中:)我需要的是,将数据系列从数据库加载到highchart数据系列中,然后您应该正确地提问。很抱歉,让您对我的问题@Amitesh:)感到困惑