【问题标题】:Yii2 gridview custom valueYii2 gridview自定义值
【发布时间】:2017-12-14 13:43:53
【问题描述】:
<?php $sums = app\models\Sku3d::find()->select(["DATE_FORMAT(approvedate, '%m-%Y') as c_date", 'sum(totalhours) as total', 'count(sku) as sku'])
                ->where(['status' => 'Approved'])->groupBy('c_date')
                ->createCommand()
                ->queryAll();
    foreach ($sums as $sum){ ?>
<tr>      
<td><?=$sum['c_date'] ?></td>
<td><?=$sum['sku']  ?></td>
<td><?=$sum['total']  ?></td>  
</tr>
  <?php } ?>

我使用上面的代码计算了一个月的产品总数和总小时数。目前我使用表结构来显示数据。上面的数据可以用yii2 gridview显示吗?

谢谢。

【问题讨论】:

    标签: yii2 yii2-basic-app


    【解决方案1】:

    Data Providers section of Yii2 documentation。您可以创建 Query 对象并使用 ActiveDataProvider 或将查询结果放入数组并使用 ArrayDataProvider。

    <?php 
        $query = (new \yii\db\Query())
            ->select(["DATE_FORMAT(approvedate, '%m-%Y') as c_date", 'sum(totalhours) as total', 'count(sku) as sku'])
            ->from('sku3d')
            ->where(['status' => 'Approved'])
            ->groupBy('c_date');
    
        $dataProvider = new ActiveDataProvider([
            'query' => $query,
        ]);
    
        echo GridView::widget([
            'dataProvider' => $dataProvider,
            'columns' => [
                'c_date:text:Month',
                'total:text:Total hours',
                'sku:text:Sku'
            ]
        ]);
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多