Yii2在gridview中使用自己的sql查询(gii)

时间:2015-02-23 14:20:52

标签: sql gridview crud yii2

我是Yii(2)的新手。

我需要显示单个产品的总量,忽略位置。如下所示:

在: enter image description here

在: enter image description here 现在,我需要在Gii自动生成的gridview中显示这一点。但是我自己的查询。

所以不是这样的: enter image description here  它应该显示总金额。

我不知道如何在其中使用我自己的查询..请帮忙吗?这是一个标准的Gii CRUD,可以根据要求发布代码。

1 个答案:

答案 0 :(得分:0)

在相关模型中创建新方法并使用$ data

进行调用
 <?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],
        .....
        # below $data is current Model initial
        ['label' => 'Count', 'format' => 'html',
          'value' => function($data){return $data::getCreatedStaticFuntion($data->product_id);}
        ],
        # or use like below
        ['label' => 'Count', 'format' => 'html',
          'value' => function($data){
            $sql = 'SELECT * FROM tbl_product WHERE id ='.data->product_id;
            return \app\models\Product::findBySql($sql)->all();}
        ],
        ....