【问题标题】:Getting data from a column in GridView Yii2从 GridView Yii2 的列中获取数据
【发布时间】:2017-12-11 06:24:30
【问题描述】:

如何从 Yii2 的 GridView 中的特定列获取数据并将其显示到 Google 图表中

我使用了这个 GoogleChart Yii 库:https://github.com/ScottHuangZL/yii2-google-chart

我能够展示一个示例数据:

<div class="col-sm-5">
        <?php
        use scotthuangzl\googlechart\GoogleChart;

        echo GoogleChart::widget(array('visualization' => 'PieChart',
            'data' => array(
                array('Task', 'Hours per Day'),
                array('Work', 11),
                array('Eat', 2),
                array('Commute', 2),
                array('Watch TV', 2),
                array('Sleep', 7)
            ),
            'options' => array('title' => 'My Daily Activity')));

【问题讨论】:

  • 构建图表中给定格式的数据数组。

标签: gridview yii yii2


【解决方案1】:

您应该编写查询来检索数据。我建议你使用 Active Record。

 $data = YourModel::find()->select('column_name')->asArray()->all();

查询将返回多矿数组,你必须使用array_map函数减少到一维

$data = array_map('current',$data);

最后但不是向东,将 $data 发送到您的视图。您可以根据需要划分阵列。

【讨论】:

  • 什么是“当前”?
  • 'current' 用来调用你的函数。匿名函数,你不应该改变它。
  • 我很确定 ActiveRecord 中没有选择方法。应该是YourModel::find()-&gt;select('column_name')-&gt;column(); 这也应该不需要做array_map
  • $modelCategory = Category::find()->select(['id', 'category_name'])->all();我所做的是这样,页面显示“没有足够的列来绘制请求的图表”
猜你喜欢
  • 1970-01-01
  • 2017-05-18
  • 1970-01-01
  • 2019-10-07
  • 2015-02-17
  • 2018-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多