我试图通过数据提供程序将数据库中的数据放入highchart的“系列”。我使用this小部件。现在,图表已呈现,但是我遇到了类别的另一个问题,如您在打印屏幕上所见。
我猜print_r
看起来不错:
我该如何解决问题?
答案 0 :(得分:0)
$data = $provider->getModels();
$barData = array();
$xAxis = array();
if(is_array($data)) {
foreach ($data as $row) {
$barData[] = [
'name' => $row['strategy_title'],
'data' => [(float) $row['strategy_current_money']]
];
$xAxis[] = [
'categories' => $row['strategy_title'],
];
}
}
尝试这样。我不确定我是否理解得很好,但会尝试提供帮助。我用[]解决了您的第一个问题。对于其他问题,您必须更具体。
答案 1 :(得分:0)
经过数小时的阅读后,我决定恢复记录,并找到了问题https://github.com/miloschuman/yii2-highcharts/blob/master/doc/examples/series-data-helper.md
的解决方案
<?php
use yii\helpers\Html;
use yii\helpers\ArrayHelper;
use yii\helpers\Url;
use miloschuman\highcharts\Highcharts;
use miloschuman\highcharts\SeriesDataHelper;
/* @var $this yii\web\View */
$data = $provider->getModels();
$dataProvider = new \yii\data\ArrayDataProvider(['allModels' => $data]);
?>
<div class="container">
<div class="row">
<div class="col-md-12 col-sm-12 strategy_bar">
<?php
echo Highcharts::widget([
'options' => [
'title' => ['text' => 'Basic Example'],
'yAxis' => [
['title' => [
'text' => 'OHLC'
]
],
],
'series' => [
[
'type' => 'column',
'name' => new SeriesDataHelper($dataProvider, ['strategy_title']),
'data' => new SeriesDataHelper($dataProvider, ['strategy_current_money:int']),
],
]
]
]);
?>
</div>
</div>
</div>